在UBUNTU中添加JAR类路径

时间:2012-11-12 17:56:37

标签: java ubuntu classpath

这可能是一个常见问题,但我无法在UBUNTU中为JAR文件添加类路径。我已经在下面给出了我所知道的所有细节:

java位于: which java命令的o / p为 - /usr/bin/java

sudo vim /etc/bash.bashrc  
export CLASSPATH=$CLASSPATH:/downloads/aws-java-sdk-1.3.24/lib/aws-java-sdk-1.3.24.jar

ps:downloads文件夹直接位于根目录

sudo vim /etc/environment
CLASSPATH="/usr/lib/jvm/jdk1.7.0/lib: /downloads/aws-java-sdk-1.3.24/lib/aws-java-sdk-1.3.24.jar:"

正如您所看到的,我在bashrc和etc / environment中添加了类路径...但是在尝试运行java的awssdk附带的S3Sample.java时仍然出现错误。

当我编译java文件时,我收到以下错误:

ubuntu@domU-12-31-39-03-31-91:/downloads/aws-java-sdk-1.3.24/samples/AmazonS3$ javac S3Sample.java

S3Sample.java:25: error: package com.amazonaws does not exist
import com.amazonaws.AmazonClientException;

现在,我清楚地知道JAR文件没有添加到类路径中,因此我没有收到错误。我也尝试了javac类路径选项 - 但它不起作用:(

PS:JAVA home设置正确,因为其他java程序正常工作。

1 个答案:

答案 0 :(得分:9)

要设置类路径,在大多数情况下,在调用-cp-classpath时使用javacjava参数会更好。它为您提供了更多灵活性,可以为不同的Java应用程序使用不同的类路径。

使用-cp-classpath参数,您的类路径可以包含多个jar和多个以:(冒号)分隔的位置

javac -cp ".:/somewhere/A.jar:/elsewhere/B.jar" MyClass.java
java -cp ".:/somewhere/A.jar:/elsewhere/B.jar" MyClass

示例中的类路径条目将类路径设置为包含当前工作目录(.)以及两个jar文件A.jarB.jar

如果您想使用CLASSPATH环境变量,可以

export CLASSPATH=".:/somewhere/A.jar:/elsewhere/B.jar"
javac MyClass.java
java MyClass