web-dev-qa-db-ja.com

Javaインストールされているフォルダ内のJavaのどのバージョンをインストールしたフォルダを見つけるには?

JavaのバージョンがLinuxマシンにインストールされています。これを試すと:

root @ test $:javac -version

結果は次のとおりです。

javac jdk1.7.0_80。

私の問題は、それがどこにあるかわからないことです(1.7.0_80)Javaフォルダはあります。「Java-7-Oracle」がusr/lib/jvmにあります。インストールされているバージョンのJavaのフォルダであると思われます。

Javaフォルダがあり、どのバージョンのJavaある?)か知りたい

方法??

5
Mr ASquare

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

このようなバイナリを追跡できると思います。

7
Ijaz Ahmad Khan

名前だけを入力したときに実行されるバイナリを見つけるには、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
4
EightBitTony

Debianおよびその派生物では、次のものが使用できます。

update-alternatives --config Java

または

update-alternatives --list Java

--configオプションを使用すると、必要なJava=代替リストから設定できます。

1
Vladimir