如何正确设置 Linux 的 classpath? (linux classpath 设置)

在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时需要注意规则和常见的错误,以确保程序能够正常运行。

相关问题拓展阅读:

求问。linux 下 java 为什么不用设置classpath就能编译 或者默认jdk在哪?echo $JAVA_HOME 是空的

设置$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自己处理,并不会受影响。

linux 中怎么设置java

三种配置环境变量的方法

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

linux安装 jdk 环境变量怎么设置

安装:

# 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 设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何正确设置 Linux 的 classpath? (linux classpath 设置)