3

jdk 8 と jdk 10 をインストールすると、jdk バージョン 10 がシステム JDK として構成されます。JAVA_HOME、PATHをjdk8に変更してもシステムjdkは変わらず。コマンドプロンプトでJavaのバージョンを確認すると、パスとJAVA_HOMEを変更した後、jdk 8が表示されます。しかし、実行可能なjarファイルをダブルクリックすると、システムjdk、つまりjdk 10が必要です。

システムjdkのパスとバージョンを編集するためにレジストリを変更しようとしましたが、うまくいきませんでした。

Javaの構成から、jdk 10がシステムjdkとして構成され、編集不可としてのみ表示されます。

システムjdkとしてjdkバージョンを切り替えることができる場合は、助けてください。

問題を再現する手順:

  1. jdk8をインストール
  2. jdk10をインストール
  3. jdk 10をアンインストールせずに、コマンドプロンプトからJavaホームとjdk 8へのパスを変更し、Javaバージョンを確認すると、jdk 8が表示されます
    1. デスクトップをダブルクリックして、実行可能なjarを実行してみてください。jdk 10が必要です。それが問題です。

注:これは重複投稿ではありません。jdk6 または 7 または 8 の間の切り替えに関する投稿がありますが、jdk 10 ではありません。JDK 10 には、Oracle からの zip ディストリビューションも付属していません。

4

4 に答える 4

0

使用しているプラ​​ットフォームに応じて、通常、ディレクトリを指す PATH 環境があります。最初にそこにあるものは何でも、慣れます。そのため、Linux などでは、/usr/bin にインストールされているすべての Java 実行可能ファイルと、それらが指す jvm を取得します。

絶対パスを使用してそれをバイパスできます。Java用のコマンドラインソフトウェアの多くは、jvmがどこにあるか(gradleなど)を把握するためにJAVA_HOMEに依存しているため、実際にそれを使用することもできます。

最後に、Linux と osx では、たとえば jenv を使用して、どの jvm を使用するかを制御できます。プラグインを介して JAVA_HOME を管理することもできます (デフォルトではオフ)。

これは、Mac の .bash_profile にあるものです。同様のことが Linux と Windows でも機能するはずです。

# brew install jenv, install some jdks and make sure jenv knows where they are, and run this once to get jenv to export JAVA_HOME:
# jenv enable-plugin export
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
于 2018-05-09T12:15:17.900 に答える