21

UbuntuでコンパイルしたJavaアプリケーションに問題があります。投げUnsupportedClassVersionErrorます。Javaを実行するためにPATHで構成されているバージョンよりも高いバージョンのJDKでコンパイルしています。

$ javac -version
javac 1.7.0_147

$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK Client VM (build 20.0-b11, mixed mode, sharing)

どうすればこれを解決できますか?

4

5 に答える 5

27

ターミナルに次のコマンドを入力します。

  sudo update-alternatives --config java

それはあなたに尋ねます:

代替Java(/ usr / bin / javaを提供)には2つの選択肢があります。

  Selection      Path                                            Priority   Status

    0           /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode

    1           /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode

    2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java  1051      manual mode


  Press enter to keep the current choice[*], or type selection number:

java 1.7.0_21を使用したいので、2を入力します

于 2013-05-28T07:58:44.123 に答える
21

また、次のことを行う必要があります。

sudo update-alternatives --config javac

提供されたリストから目的のJavaコンパイラを選択します。たとえば、Centos5で

There are 2 programs which provide 'javac'.
Selection    Command
-----------------------------------------------
1           /usr/lib/jvm/java-1.6.0-openjdk/bin/javac
*+ 2        /usr/lib/jvm/java-1.7.0-openjdk/bin/javac
于 2015-06-17T06:58:08.947 に答える
8

次のいずれかを実行して、その場所がどこにあるかを特定します

javac 1.7.0_147

次のように使用されています:

whereis javac

また

 locate javac

また

find javac

次に、ディレクトリを見つけたら、binの内容を/ usr/binにシンボリックかつ強制的にリンクします。

sudo ln -f -s [put location here]/bin/* /usr/bin
于 2012-05-14T14:36:55.903 に答える
3

これはあなたがJavaとUbuntuに欲しいものです。基本的に同じ設定ですが、GlassfishとJava7から切り替えています。見て、同様の方法でJava環境を設定してみてください

于 2012-05-14T14:27:48.370 に答える
2

私はJavaとJavacの代替を追加してインストールしましたが、以下の手順で動作します。

手順1JavaとJavacの代替を追加します

Javacを追加するコマンド:

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/amazon-jdk-11/bin/java" 1 

すなわち: "/ opt / amazon-jdk-11 / bin/javac"これはjavaの新しいパスです

sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/amazon-jdk-11/bin/javac" 1

すなわち:/ opt / amazon-jdk-11 / bin/javacはjavacの新しいパスです

手順2JavaおよびJavacの代替をインストールしました

sudo update-alternatives --config javac
sudo update-alternatives --config javac

上記のコマンドを入力すると、以下のような画面が表示され、Javaを構成する番号を選択できます。

ここに画像の説明を入力してください

javacとして「/opt/ amazon-jdk-11 / bin / java」をインストールしたかったので、リストから「 1 」を選択しました。

以下のコマンドを使用して、Javaの代替インストールが成功したかどうかを確認します。

which javacwhich java 以下のような画面が表示されます。

ここに画像の説明を入力してください

于 2019-11-25T10:38:37.183 に答える