web-dev-qa-db-ja.com

適切にセットアップJava 9 IntellijのSDKとしてIDEA新しいフォルダー構造のためにLinuxで

あなたが私を片付ける前に、これらのどちらも私の質問に対する答えではないことを考慮してください:


IntelliJ IDEA 2017.2.6では、SDKがパスするときにJDK9を追加しようとしますが、クラスパスが空になるため機能しません。再現する手順:

  1. 「新しいSDKの追加ダイアログ」を開きます
    ([プロジェクトの設定]> [プロジェクト]> [プロジェクトSDK]> [新規]> [JDK]に移動)
  2. JDK 9を選択
    select jdk dialog
  3. パスしますが、SDK> JDK9クラスパスの下を見ると、ベースクラスが見つからないためコードがエラーになります。画像をご覧ください:
    no classpaths

IntelliJ IDEA 2017.3 EAPでは、JDKクラスが見つからないというエラーが表示されます。以下の画像を参照してください。

  1. 「新しいSDKの追加ダイアログ」を開きます
    ([プロジェクトの設定]> [プロジェクト]> [プロジェクトSDK]> [新規]> [JDK]に移動)
  2. JDK 9を選択
    select jdk dialog
  3. パスする必要がありますが、エラーポップアップが生成されます
    jdk error popup

Jdk9を使用したHelloWorldの例のコマンドラインコンパイルは、期待どおりに機能します。

編集:ほぼ重複が見つかりました: Intellij IDEA 2017.2はLinux Mint 18でopenjk 9を追加できません主な違い:

  • Linuxバージョン:彼らはMint 18を使用しており、私はDebian Stretchを使用しています。
  • OpenJDKは、執筆時点でのレポからの最新のものです:9〜b181-4〜bpo9 + 1。同じバージョンですが、私の場合はまだ動作しません。

編集:別の可能な重複: intellijのアイデアはJava 9つの標準クラス を見ません

私はコメントからの答えを理解できませんでした。 JDKに異なる名前(9および1.9)を設定しようとしましたが、クラスパスの代わりにモジュールが表示されず、クラスパスは空のままでした。

29
anon2234

現在のdebianバイナリパッケージopenjdk-9-jre-headless 9〜b181-4には、誤ってコンパイルされたlib/jrt-が含まれていますfs.jarファイル。
idea youtrackbuntu launchpad の両方に別々に2つの問題が提出されています。

示されているとおり here

考えられる理由:
lib/jrt-fs.jarのクラスは、Java 9でオプション "-source 8"/"target 8"でコンパイルされました。 "-releaseでコンパイルする必要があります。代わりに8 "オプション(またはJava 8)

一時的な回避策は、/ usr/lib/jvm/Java-9-openjdk-AMD64/lib/jrt-fs.jarOracle JDK
推奨オプション「-release 8」を使用して、openjdk-9ソースの再コンパイルを試みることもできます。

とにかく、上記のリンクでこの問題に投票して、開発チームからより多くの注目を集めることをお勧めします。

28
Kayvan Tehrani

現時点では、OpenJDKの代わりにOracle Javaを使用します。これを WebUpd8のリポジトリ経由 で取得できます。

Sudo add-apt-repository ppa:webupd8team/Java &&
Sudo apt-get update &&
Sudo apt-get install Oracle-Java9-installer

これはOpenJDKで動作するようには見えないので、最新かつ最高のJavaでプレイしたい場合、これが今のところそれを行う方法になるでしょう。そうでなければ、私が見たものから、あなたはこれを正しく行い、これが実際に修正されると、それはうまく動作します。

5
Makoto