web-dev-qa-db-ja.com

UbuntuのフォルダーにCLASSPATH変数を設定する方法

export CLASSPATH=/usr/local/Java/tools.jar:$CLASSPATHはtools.jarをCLASSPATHに追加することを知っていますが、フォルダーをCLASSPATHに設定したいです

このような

export CLASSPATH=/usr/local/Java/lib/:$CLASSPATH

しかし、機能していません。

16
Ramesh Kotha

まず、一般にenv var CLASSPATHを設定すると、通常は解決するよりも多くの問題が発生します。すべてのアプリが同じクラスパスを必要とする/必要としないためです。 Javaアプリには、必要なjarの最小数のみを含める必要があります。

クラスパスを設定する必要がある特定の個別のアプリがある場合、通常はコマンドラインオプションJava -cp path1:path2:...が推奨されます。デスクトップアイコンのコマンドを変更してこれらのオプションを含めるか、シェルスクリプトを変更してこれらのオプションを含めることができます。

そうは言って(そして常にルールには例外があるので)、Java(これはJava 6以降が必要です)のバージョンに応じて、ディレクトリ全体を指定できます。ディレクトリの最後に「*」を追加することにより、jarのクラスパスに追加されます。たとえば、次のとおりです。

 /dir1/foo.jar:/dir2/dir3:/dir5/dir6/*:etc...

手段:

  • /dir1/foo.jar-(単一のjar)がクラスパスに追加されます。
  • /dir2/dir3-このディレクトリ内のすべてのun-jarされたクラスは、クラスパスに追加されます(適切なパッケージ構造である必要があります。たとえば、com.my.Foo.class/dir2/dir3/com/my/Foo.classである必要があります)
  • /dir5/dir6/*-このディレクトリ内のすべてのjar(つまり、/dir5/dir6/*.jar)はクラスパスに追加されます。この「*」はワイルドカードではないことに注意してください(f*.jarまたは*.jarも使用できません)。 「すべてのjarを追加する」ことを示す特殊文字です

一般に、jarのディレクトリ全体をアプリケーションのクラスパスに追加する必要がある場合、アプリは正しくバンドルされませんでした。むしろ、アプリには依存するjarのリストを含むマニフェストが必要です。または、少なくとも1つのjarのみをクラスパスに追加する必要があり、そのjarはそのマニフェストにサブディレクトリ内のjarのリスト全体を含めることができます。

11
michael

クラスパスを永続的に設定する場合は、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

ディレクトリを「:」で区切ります

2
rightkushagra

ターミナルを開いてタイプする

須藤ナノ〜/ .bashrc

必要なすべてのエクスポートを追加します...

export Java_HOME =/usr/local/Java/jdk1.6.0_06(パス)

export ANT_HOME =/opt/ant/Apache-ant-1.9.4

最後に変更を有効にするためにターミナルを再起動します

0
mateen