Ubuntuターミナルでjavacを実行しようとしています。しかし、私は次のようになります:
$ javac
The program 'javac' can be found in the following packages:
* openjdk-6-jdk
* ecj
* gcj-4.4-jdk
* gcj-4.6-jdk
* gcj-4.5-jdk
* openjdk-7-jdk
Try: Sudo apt-get install <selected package>
jdkは既にインストールされ、実行されていますSudo apt-get install openjdk-6-jdk
は0 upgraded, 0 newly installed, 0 to remove and 322 not upgraded.
私のjdkは/ usr/lib/jvm/Java-6-open-jdkにインストールされています。また、EclipseからJavaプログラムをコンパイルして実行できます。しかし、ターミナルを使用すると、この問題が発生します。
javac
バイナリ(およびおそらく他のJavaバイナリ)は、ユーザーの$PATH
環境変数にありません。これに対処する方法はいくつかあります。
/usr/lib/jvm/Java-6-open-jdk/bin
をユーザーの$PATH
環境変数に追加します。これを行うには、ユーザーの.bash_profile
に次のような行を追加します。
export PATH=${PATH}:/usr/lib/jvm/Java-6-open-jdk/bin
ターミナルセッションを有効にするには、ターミナルセッションを再起動する必要があります。
すでにパスの一部になっているディレクトリ(/usr/bin
など)からJavaバイナリへのシンボリックリンクを作成します。
Sudo ln -s /usr/lib/jvm/Java-6-open-jdk/bin/Java /usr/bin/
Sudo ln -s /usr/lib/jvm/Java-6-open-jdk/bin/javac /usr/bin/
ところで:他にもいくつかのJava実行可能ファイルが/usr/lib/jvm/Java-6-open-jdk/bin
にあります。上記のJava
およびjavac
のシンボリックリンクコマンドを示しました。使用したい他の実行可能ファイルの同様のコマンド。
コマンドラインで直接完全修飾パスを使用します。
$ /usr/lib/jvm/Java-6-open-jdk/bin/javac
どうやら、この問題に対するUbuntu固有のエレガントなソリューションがあります。 Ubuntuシステムでは、 pdate-Java-alternatives を使用します。