6

これはよくある質問かもしれませんが、UBUNTU で JAR ファイルのクラスパスを追加できません。私が知っているすべての詳細を以下に示します。

Java はここにあります: コマンドの o/pwhich javaは -/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: ダウンロード フォルダはルート直下にあります

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 にクラス パスを追加しましたがS3Sample.java、Java 用の awssdk に付属している を実行しようとするとエラーが発生します。

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 プログラムが正常に動作するため、JAVA ホームは正しく設定されています。

4

1 に答える 1

9

クラスパスを設定するには、ほとんどの場合、andを呼び出すときに-cpor引数を使用する方が適切です。これにより、さまざまな Java アプリケーションにさまざまなクラスパスを使用する柔軟性が向上します。-classpathjavacjava

-cpおよび引数を使用すると、クラスパスに(コロン)-classpathで区切られた複数の jar と複数の場所を含めることができます。:

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

この例のクラスパス エントリは、現在の作業ディレクトリ ( .)、および 2 つの jar ファイルA.jarB.jar.

環境変数を使用したい場合は、次のCLASSPATHことができます

export CLASSPATH=".:/somewhere/A.jar:/elsewhere/B.jar"
javac MyClass.java
java MyClass
于 2013-08-05T22:11:25.163 に答える