idea java sdk找不到指定文件路径,由于新的文件夹结构,在Linux上的Intellij IDEA中正确设置Java 9作为SDK...

Before you write me off, please consider that neither of these are answers to my question:

In IntelliJ IDEA 2017.2.6, attempting to add JDK9 as an SDK passes but does not work as the classpaths end up empty. Steps to reproduce:

Open 'Add new SDK dialog'

(go to Project Settings > Project > Project SDK > New > JDK)

Select JDK 9

Passes, but if you look under SDK > JDK9 classpaths are empty and your code errors out due to base classes not being found. See image:

In IntelliJ IDEA 2017.3 EAP you get an error about JDK classes not being found. See images below:

Open 'Add new SDK dialog'

(go to Project Settings > Project > Project SDK > New > JDK)

Select JDK 9

Should pass, but produces error popup

Command line compilation of HelloWorld example with jdk9 works as expected.

Linux version: they're using Mint 18, and I'm using Debian Stretch.

OpenJDK is the latest from the repo at the moment of writing: 9~b181-4~bpo9+1. Even though is the same version, it still does not work in my case.

I did not understand the answer from the comments though. Tried setting different names for JDK (9 and 1.9) but it still did not show modules instead of classpaths and classpaths remained empty.

解决方案

Current debian binary package openjdk-9-jre-headless 9~b181-4 contains incorrectly compiled lib/jrt-fs.jar file.

There are 2 filed issues separately on both idea youtrack and also ubuntu launchpad.

As it is indicated here:

Probable reason:

Classes in lib/jrt-fs.jar were compiled by Java 9 with options "-source 8"/"target 8". They should be compiled with "--release 8" option instead (or by Java 8)

A temporary workaround may be replacing /usr/lib/jvm/java-9-openjdk-amd64/lib/jrt-fs.jar with the one from Oracle JDK.

You may also try to recompile the openjdk-9 source using the advised option "--release 8".

Anyway I advice to vote up this issue on the above link to attract more attention by dev team.

你可能感兴趣的:(idea,java,sdk找不到指定文件路径)