回答:
まず、一般に、環境変数を設定すると、CLASSPATH
通常は解決するよりも多くの問題が発生します。すべてのアプリが同じクラスパスを必要とする/必要とするわけではなく、不要または不要なjarがクラスパスに含まれていると破損することが多いためです。Javaアプリには、必要なjarの最小数のみを含める必要があります。
クラスパスを設定する必要がある特定の個別のアプリがある場合、通常はコマンドラインオプションが推奨されますjava -cp path1:path2:...
。デスクトップアイコンのコマンドを変更してこれらのオプションを含めるか、シェルスクリプトを変更してこれらのオプションを含めることができます。
とはいえ(そして常にルールには例外があるため)、Javaのバージョンに応じて(これはJava 6以降が必要です)、 " *
"を追加することにより、jarのディレクトリ全体をクラスパスに追加するように指定できます。ディレクトリの最後。たとえば、次のとおりです。
/dir1/foo.jar:/dir2/dir3:/dir5/dir6/*:etc...
手段:
/dir1/foo.jar
-(単一のjar)がクラスパスに追加されます。/dir2/dir3
-このディレクトリ内のすべてのjarされていないクラスは、クラスパスに追加されます(適切なパッケージ構造であるcom.my.Foo.class
必要があります。たとえば、にある必要があります/dir2/dir3/com/my/Foo.class
)/dir5/dir6/*
-このディレクトリ(つまり、/dir5/dir6/*.jar
)内のすべてのjarがクラスパスに追加されます。この「*
」はワイルドカードではないことに注意してください(使用することf*.jar
もできませんし、使用することもできません*.jar
)。「すべてのjarを追加する」ことを示す特殊文字です一般に、jarのディレクトリ全体をアプリケーションのクラスパスに追加する必要がある場合、アプリは正しくバンドルされませんでした。むしろ、アプリには依存するjarのリストを含むマニフェストが必要です。または、少なくとも1つのjarのみをクラスパスに追加する必要があり、そのjarはそのマニフェストにサブディレクトリ内のjarのリスト全体を含めることができます。
クラスパスを永続的に設定したい場合は、1)javaがインストールされている場所を確認してください。openjdk-7/ 6は/ usr / lib / jvm / .....にある「whereis java」を使用できます。
2)/ etc / environmentにCLASSPATHを設定する必要があります
sudo gedit /etc/environment
3)次のように追加します..(タイピング中にスペースを残さないでください)(Javaバージョンとインストールに応じてカスタマイズします)(このホームパスは、オープンjdk 7用です)
JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386/bin"
export JAVA_HOME
CLASSPATH=".:/usr/lib/jvm/java-7-openjdk-i386/lib:/home/laptop/Desktop/a2"
export CLASSPATH
ディレクトリを「:」で区切ります