web-dev-qa-db-ja.com

intelliJはJava 9 JDKを受け入れません

KDEデスクトップでUbuntu 16.4を使用しているときに、intelliJでJava 9を使用しようとしています。
エディタでJDKファイルを選択できません。 Java 8および9がインストールされていますが、現在Java 9はJavaコマンドで実行するように設定されています。補足として:jshellを使用できます。

$ Java -versionは以下を返します。

openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

これは私の$ ls -l /usr/lib/jvm

lrwxrwxrwx 1 root root   24 Feb 25  2016 default-Java -> Java-1.8.0-openjdk-AMD64
lrwxrwxrwx 1 root root   20 Okt 28 00:51 Java-1.8.0-openjdk-AMD64 -> Java-8-openjdk-AMD64
lrwxrwxrwx 1 root root   20 Apr 14  2016 Java-1.9.0-openjdk-AMD64 -> Java-9-openjdk-AMD64
drwxr-xr-x 7 root root 4096 Nov 11 18:03 Java-8-openjdk-AMD64
drwxr-xr-x 7 root root 4096 Nov 11 18:04 Java-9-openjdk-AMD64

intelliJ選択ウィンドウのスクリーンショット
Java-1.8.0が選択されているときに[OK]を押すと、JDKとして受け入れられます。ただし、Java-1.9.0を含むその下のフォルダを選択すると、「選択したディレクトリはJDKの有効なホームではありません」と表示されます ここに示すとおり
Java-1.9.0-openjdk-AMD64リンクまたはJava-9-openjdk-AMD64ディレクトリを使用しても違いはありません。

重要な場合:aptコマンドでopenjdkをインストールしました。

編集:

  • IntelliJ IDEAバージョン2017.2.5を使用しています
  • OpenJDK 9:Sudo apt install openjdk-9-jdkをインストールした後、d [pkg]にエラーがあり、Sudo apt-get -o Dpkg::Options::="--force-overwrite" install openjdk-9-jdkを使用して解決しました
7
Nick Dewitte

私は同様の問題を抱えていましたが、それを回避しました。これを試して。

  1. Java JDK 9をダウンロードします Zip または tar.gz (私がこれを使用したので、後で言うことはすべてこれを反映します)。

  2. ダウンロードしたら、選択した場所でtar.gzファイルを抽出します(場所をメモしてください。後で戻ってください)。

  3. IntelliJを開き、ファイルの下のプロジェクト構造に移動します。 Project SDKの下で、上の2.の場所に移動して選択します。

またはファイル> プロジェクト構造>- プラットフォーム設定。もう一度、ペインに場所が表示されない場合は、上記の2.(緑色のプラス記号)で場所を追加します。

これがお役に立てば幸いです。jShellとJava 9をお楽しみください。

3
Mexen

見つけた;これはおそらくUbuntuに固有のものではありませんが、openjdk-9で正しくコンパイルされなかったjar(lib/jrt-fs.jar)に関係しています。

答えはこちら: https://stackoverflow.com/questions/47296429/properly-set-up-Java-9-as-sdk-in-intellij-idea-on-linux-due-to-new -folder-struct/47850159#47850159

引用:一時的な回避策は/ usr/lib/jvm/Java-9-openjdk-AMD64/lib/jrt-fs.jarOracle JDKからのもの

Jarを交換した後、SDKを問題なくIntelliJに追加できました。

2
Steven Kuypers