私のLinuxコンピュータにJavaバージョンがインストールされています。私がこれをしようとすると:
root@test$: javac -version
結果は次のとおりです。
javac jdk1.7.0_80.
今私の問題は(1.7.0_80)Javaフォルダがどこにあるのかわからないということです。 'というファイルがあります。Java-7-Oracleusr/lib/jvmにあります。インストールされているJavaバージョンのフォルダのようです。
これでJavaフォルダがありますが、どのバージョンのJavaかを知りたいです。
どのように? ?
答え1
Javaバイナリが接続されている場所を確認すると、これらすべてを追跡できると思います。
#which javac
/usr/bin/javac
#ls -ln /usr/bin/java
lrwxrwxrwx. 1 0 0 22 Nov 27 04:54 /usr/bin/java -> /etc/alternatives/java
#ls -ln /usr/bin/javac
lrwxrwxrwx. 1 0 0 23 Nov 27 04:54 /usr/bin/javac -> /etc/alternatives/javac
# ls -ln /usr/bin/javadoc
lrwxrwxrwx. 1 0 0 25 Nov 27 04:54 /usr/bin/javadoc -> /etc/alternatives/javadoc
ついに:
#ls -ld /etc/alternatives/java
lrwxrwxrwx. 1 root root 46 Nov 27 04:54 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
だから私のJavaインストールは次のようになります。
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
このようなバイナリを追跡できると思います。
答え2
名前だけを入力すると、どのバイナリが実行されているかを確認でき、which
それを使用するとreadlink
プロセスを1行に圧縮できます。
readlink -e $(which java)
readlink -e
シンボリックリンクまたは標準ファイル名の値を印刷し、-eは各コンポーネントに繰り返し従うようにします。
tony@trinity:~$ readlink -e $(which java)
/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
注:テストしたコンピュータにはjavacがインストールされていないため、ちょうどjavaを使用しましたが、上記のコードはすべてのバイナリで動作します。
また、特定のフォルダでJavaのバージョンを探すように求めているようですか?そのためにはこうすればいいです。
/full/path/java -version
これにより、Linuxがパスを直接検索してJavaバイナリを見つけるのを防ぎます。あなたに関する限り、
/usr/lib/jvm/java-7-oracle/javac -version
答え3
Debianとその派生物では、次のものを使用できます。
update-alternatives --config java
または
update-alternatives --list java
--config オプションを使用すると、代替リストで必要な Java を設定できます。