Centos javaとjavacにJavaのインストールに問題があり、異なるバージョンが表示されます。

Centos javaとjavacにJavaのインストールに問題があり、異なるバージョンが表示されます。

Java jdk-7u3-linux-x64.rpmパッケージがあります。だから私は通常yum install jdk-7u3-linux-x64.rpmを実行します。それではすぐにやります。

alternatives --install /usr/bin/java java /usr/java/latest/jre/bin/java 20000

alternatives --install /usr/bin/javaws javaws /usr/java/latest/jre/bin/javaws 20000

alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 20000

次のステップはこの代替 --config java で、最新のエントリを選択します。突然、この2つのコマンドを実行すると、この特定のコンピュータで問題が発生し、別のバージョンのjavaとjavacが表示され、プログラムがコンパイルされなくなりました。

以下はすべてJavaです。

代替 --config Java

There are 4 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
   3           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
 + 4           /usr/java/latest/jre/bin/java

Enter to keep the current selection[+], or type selection number:

Javaのバージョンは次のとおりです

java -version
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)

しかし、私のjavacバージョンは

javac -version
javac 1.7.0_19

驚きました。インストールされたバージョンは1.7.0_03にすぎませんが、1.7.0_19はどこから来ましたか?

この問題を解決する方法を知っていますか?

答え1

代替システムは、サードパーティのパッケージ(たとえば、インストールされているJavaパッケージ)で常に正しく機能するわけではありません。すべてのリンクが正しいことを確認するには、CentOSパッケージJavaを使用するか、代替システム/コマンドを使用せずに直接シンボリックリンクを作成する必要があります。

関連情報