在Linux环境下,Java应用程序的运行需要依赖各种不同的类库和jar包,而设置classpath就是告诉操作系统Java程序去哪里找这些类库和jar包。设置正确的classpath对于Java程序的运行非常重要,否则可能会导致程序无法正常启动或出现各种异常。那么如何正确设置Linux的classpath呢?本文将从以下几个方面给出详细的解答。
一、什么是classpath
classpath就是Java程序在运行时查找类和jar包的路径,系统会根据这些路径去查找相应的类和jar包。classpath的设置是Java程序必须要进行的必要步骤之一。classpath可以在命令行中进行设置,也可以在Java代码中进行设置。
二、classpath的设置方式
在Linux环境下,classpath的设置方式主要有三种:
1. 通过命令行设置
通过命令行设置classpath可以简单快速,但当再次执行程序时,要重新输入classpath。在命令行中,可以使用-cp或-classpath选项来指定classpath的值。例如:
java -cp /opt/lib:.
2. 通过环境变量设置
通过环境变量方式设置classpath,每次启动时只要设置一次,适用于需要频繁使用的Java程序。在Linux环境下,可以通过修改.bash_profile文件或.bashrc文件,将classpath加入环境变量中,例如:
export CLASSPATH=$CLASSPATH:/opt/lib
3. 在Java代码中设置
在Java代码中设置classpath的方式,可以灵活控制和定义类加载器的行为,但需要在Java代码中显式的设置classpath,例如:
ClassLoader classLoader = new URLClassLoader(new URL[] {new URL(“file:///opt/lib”)});
三、classpath的设置规则
在设置classpath时,需要注意以下规则:
1. 如果设置的是目录,则在目录后面加上“:”或“;”。例如:/opt/lib:.
2. 如果设置的是jar包,则在jar包后面加上“:”或“;”。例如:/opt/lib/a.jar:/opt/lib/b.jar
3. 如果设置的是当前目录,则直接使用“.”。例如:/opt/lib:.
4. 如果classpath中包含空格和特殊字符,可以使用双引号或单引号来标示。例如:”/opt/jdbc driver/mysql.jar”
四、classpath的常见错误
在设置classpath时,常见的错误有以下几种:
1. 类路径设置不全,导致无法找到相应的类和jar包。
2. 类路径设置顺序错误,导致程序无法正确加载类和jar包。
3. 重复设置classpath,导致无法正常运行程序。
4. 在代码中使用了类似于Class.forName(“org.mysql.Driver”)这样的代码,如果没有在classpath中正确的添加mysql的驱动jar包,将会导致类找不到异常。
五、
classpath是Java程序必须要进行的必要步骤之一,设置正确的classpath对于Java程序的运行非常重要。在Linux环境下,classpath的设置方式主要有三种:通过命令行设置、通过环境变量设置和在Java代码中设置。在设置classpath时需要注意规则和常见的错误,以确保程序能够正常运行。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
设置$JAVA_HOME的目的是通过这个变量获取编译器 javac 和可执行程序 java所在路径。通常是一些脚本或其他程序需要$JAVA_HOME,java或javac本销扮身可以得到亏仔灶JDK相关的路径信息,戚乎不需要$JAVA_HOME。
Linux下,通过 PATH 中的路径搜索所有的可执行程序,如果可以搜索到 javac,那么就能进行编译,本身并不需要$JAVA_HOME。如果通过系统的包管理来安装的JDK,往往在系统路径/usr/bin或/usr/local/bin之类的都会包含javac的软链接。
调用javac时可以通过 -cp 添加自己的jar文件。JDK自身的路径由javac自己处理,并不会受影响。
三种配置环境变量的方法
1. 修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
·用文本则友编辑器打开/etc/profile
·在profile文件末尾加入:
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
·重新登录或执行 sudo source /etc/profile
·注解
a. 假设你要将 /usr/share/jdk1.6.0_14改为你的jdk安装目录
b. linux下用冒号“:”来分隔烂弯路径
c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种
常见的错误。
d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。
e. export是把这三个变量导出为全局变量。
f. 大小写必须严格区分。
2. 修改.bash_profile文件
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。
·用文本编辑器打开用户目录下的.bash_profile文件
·在.bash_profile文件末尾加入:
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
·重新登录或执行source ~/.bash_profile
3. 直接在shell下设置变量
不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
只需在shell终端执行下列命令:
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export 饥盯闷CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
Linux下Java安装与配置
以JDK1.6.0_43为例介绍一下如何在linux中设置java
1. 下载销顷jdk-6u43-linux-x64.bin,
增加可执行权伍斗旦限 chmod +x jdk-6u43-linux-x64.bin,
执行 ./jdk-6u43-linux-x64.bin 生成目录jdk1.6.0_43
拷贝到/usr/share下,mv jdk1.6.0_43 /usr/share
另外,jdk-6u43-linux-x64.bin将所有文件解压缩到当前目录的腔扰jdk$verison_$update目录,
jdk-6u43-linux-x64-rpm.bin解压缩生成rpm包,用rpm -ivh命令安装
2. 配置环境变量
在/etc/profile下增加
# set Java environment
JAVA_HOME=/usr/share/jdk1.6.0_43
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
3. 测试
# echo $JAVA_HOME
/usr/share/jdk1.6.0_43
# echo $PATH
/usr/share/jdk1.6.0_43/bin:/usr/lib64/qt-3.3/bin:/usr/local/in:/usr/local/bin:/in:/bin:/usr/in:/usr/bin:/root/bin
# echo $CLASSPATH
.:/usr/share/jdk1.6.0_43/lib/dt.jar:/usr/share/jdk1.6.0_43/lib/tools.jar
# java -version
java version “1.6.0_43”
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)
1.首先要去下载好JDK,Java SE 8的官方网址是
根据自己的系统版本来选择是要使用32位版还是64位版。Linux提供了两种安装方式一个是.rpm,另一个是.tar.gz,我所使用的是.tar.gz。在下载前不要忘了选择Accept License Agreement。
2.可以使用下面的命令来查看自己的系统是32位还是64位
getconf LONG_BIT
3.接下来我们对下载的文件进行解压
tar -zxvf jdk-8u102-linux-x64.tar.gz
4.然后我们来新建一个目录,并将解压好的文件移动过去
mkdir /usr/java
mv ./jdk1.8.0_102 /usr/java
5.然后我们来设置环境变量,这里我们需要修改/etc/profile文件
先用vim打开/etc/profile文件
vim /etc/profile
6.在文件最后添加下面的内容
JAVA_HOME=/usr/java/jdk1.8.0_102
export JRE_HOME=/usr/java/jdk1.8.0_102/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
其中的jdk1.8.0_102请根据自己的实际文件名作出更改
添加完成后,保存并退出。最后一步便是重启计算机。
reboot
计算机重启后我们可以在终端中输入java来检测是否配置成功
java
如果配置成功便会显示提示信息
用法: java class
(执行类)
或 java -jar jarfile
(执行 jar 文件)
其中选项包括:
-d32 使用 32 位数据模型 (如果可用)
-d64 使用 64 位数据模型 (如果可用)
-server 选择 “server” VM
默认 VM 是 server,
因为您是在服务器类计算机上运行。判如
-cp
-classpath
用 : 分隔的目录, JAR 档案
和 ZIP 档案列表, 用于搜索类文件。
-D=
设置系统属性
-verbose:
启用详细输出
-version 输出产品版本并退出
-version:
警告: 此功能已过时, 将在
未来发行版中删除。
需要指定的版本才能运行
-showversion 输出产品版本并继续
-jre-restrict-search | -no-jre-restrict-search
警告: 此功能已过时, 将在
未来发行版中删除。
在版本搜索中包括/排除用户专用 JRE
-? -help 输出此帮助消息
-X输出非标准选项的帮助
-ea
-enableassertions
按指定的粒度启用断言
-da
-disableassertions
禁用具有猛拆指定粒度的断言
-esa | -enablesystemassertions
启用系统断言
-dsa | -disablesystemassertions
禁用系统断言
-agentlib:
加载本机代理库 , 例如 -agentlib:hprof
另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
-agentpath:
按完整路径名加载本机代理库
-javaagent:
加载 Java 编程语言代理, 请参阅 java.lang.instrument
-splash:
使用指定的图像显示启动屏幕
1、如果你的linux服务器不会重启,或者一次性使用java,可以直接在shell内依次输辩启入一下几条命令:
export JAVA_HOME=/usr/share/jdk1.8.0_71
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2、如果考虑到长久使用,且机器有可能会被重启掉,那么使用以下方法:
打开/etc/profile(用vi或简灶含者其他你自己拦笑喜欢的文本编辑器)
在文件末尾添加如下语句:
JAVA_HOME=/usr/java/default
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
linux上安装java后主要需要设运闷置两个地方
JAVA_HOME, apt/yum安装的jdk通常在/usr/lib/jvm下, 如/usr/lib/jvm/java-8-openjdk-amd64, mvn之类的工具依赖JAVA_HOME环境变量
PATH, 需要确保$JAVA_HOME/bin在PATH中
配置文件修改, 通常可以修改~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
要对所有用户生效可以编旁埋弯辑/etc/profile.d/java.sh, 添加
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
安装:
# rpm -ivh jdk-8u25-linux-x64.rpm
配置jdk环境变量
方法一:在Shell下设置变量(该方法只对当前的shell有效,如果打开另一个shell就需要重新配置)
export JAVA_HOME=/usr/java/jdk1.7.0_40/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(其中如果只配置 export PATH=/usr/java/jdk1.7.0_40/bin:$PATH 也可以)
方法二:修改/etc/profile文件(该方法一劳永逸,设置一次,对所有用户有效)
用vim编辑器打开/etc/profile文件,在文件尾部加入环境变量的定义
JAVA_HOME=/usr/java/jdk1.8.0_25/
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
保存退出,查看java版本档丛
# java -version
java version “1.8.0_25”
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
表示安装成功
方法三:修改~/.bashrc文件(该方法修改后只对当前盯缺用户有效,对该用户的所有shell都有效)
用vim编辑器打开~/.bashrc文件
在文件尾部凯蠢辩加入jdk环境变量的定义
set JAVA_HOME=/usr/java/jdk1.8.0_25/
export JAVA_HOME
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
关于linux classpath 设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
创新互联-老牌IDC、云计算及IT信息化服务领域的服务供应商,业务涵盖IDC(互联网数据中心)服务、云计算服务、IT信息化、AI算力租赁平台(智算云),软件开发,网站建设,咨询热线:028-86922220
当前标题:如何正确设置Linux的classpath?(linuxclasspath设置)
分享路径:http://www.shufengxianlan.com/qtweb/news22/453372.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联