【问题标题】:Trouble compiling java 9 in Intellij在 Intellij 中编译 java 9 时遇到问题
【发布时间】:2016-12-05 15:51:45
【问题描述】:

我正在尝试在最新的 intellij(社区版)中使用 Java9:

IntelliJ IDEA 2016.3 构建 #IC-163.7743.44,于 2016 年 11 月 17 日构建 JRE:1.8.0_112-release-408-b2 x86 JVM:JetBrains s.r.o 的 OpenJDK Server VM

无需编写任何代码:

Error:Abnormal build process termination: 
C:\Users\pisarevv\Desktop\jdk-9\bin\java -Xmx700m -Djava.awt.headless=true -Djdt.compiler.useSingleThread=true -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Djava.net.preferIPv4Stack=true -Dio.netty.initialSeedUniquifier=1630946162877517857 -Dfile.encoding=windows-1252 -Djps.file.types.component.name=CommunityFileTypes -Duser.language=en -Duser.country=US -Didea.paths.selector=IdeaIC2016.3 "-Didea.home.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.3" -Didea.config.path=C:\Users\pisarevv\.IdeaIC2016.3\config -Didea.plugins.path=C:\Users\pisarevv\.IdeaIC2016.3\config\plugins -Djps.log.dir=C:/Users/pisarevv/.IdeaIC2016.3/system/log/build-log "-Djps.fallback.jdk.home=C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/jre/jre" -Djps.fallback.jdk.version=1.8.0_112-release -Djava.io.tmpdir=C:/Users/pisarevv/.IdeaIC2016.3/system/compile-server/_temp_ -Dkotlin.incremental.compilation.experimental=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\"C:\Users\pisarevv\AppData\Local\Temp\kotlin-idea-451096579120734544-is-running\" -classpath "C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/jps-launcher.jar;C:/Users/pisarevv/Desktop/jdk-9/lib/tools.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/optimizedFileManager.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/ecj-4.6.1.jar" org.jetbrains.jps.cmdline.Launcher "C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/jps-builders.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/jna.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/asm-all.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/forms_rt.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/annotations.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/util.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/netty-all-4.1.5.Final.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/snappy-in-java-0.5.1.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/trove4j.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/openapi.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/jps-model.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/nanoxml-2.2.3.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/javac2.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/jna-platform.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/rt/jps-plugin-system.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/protobuf-2.5.0.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/jdom.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/oromatcher.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/idea_rt.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/log4j.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/resources_en.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/jgoodies-forms.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/IntelliLang/lib/intellilang-jps-plugin.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/Groovy/lib/groovy-jps-plugin.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/Groovy/lib/groovy-rt-constants.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/maven/lib/maven-jps-plugin.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/maven/lib/aether-dependency-resolver.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/maven/lib/aether-1.1.0-all.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/maven/lib/maven-aether-provider-3.3.9-all.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/maven/lib/plexus-utils-2.0.6.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/Kotlin/lib/kotlin-runtime.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/Kotlin/lib/kotlin-reflect.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/Kotlin/lib/kotlin-plugin.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/Kotlin/lib/kotlin-android-extensions-plugin.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/Kotlin/lib/kotlin-android-extensions-compiler-plugin.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/javaFX/lib/javaFX-jps-plugin.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/plugins/javaFX/lib/common-javaFX-plugin.jar" org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 62860 aa8c9c68-3477-48ea-9f1c-5086eaa5935d C:/Users/pisarevv/.IdeaIC2016.3/system/compile-server
Build process started. Classpath: C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/jps-launcher.jar;C:/Users/pisarevv/Desktop/jdk-9/lib/tools.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/optimizedFileManager.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.3/lib/ecj-4.6.1.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:537)
    at org.jetbrains.jps.cmdline.Launcher.main(Launcher.java:59)
Caused by: java.lang.ExceptionInInitializerError
    at com.intellij.util.concurrency.AtomicFieldUpdater.<clinit>(AtomicFieldUpdater.java:41)
    at com.intellij.util.containers.ConcurrentIntObjectHashMap.getUnsafe(ConcurrentIntObjectHashMap.java:2787)
    at com.intellij.util.containers.ConcurrentIntObjectHashMap.<clinit>(ConcurrentIntObjectHashMap.java:2752)
    at com.intellij.util.containers.ContainerUtil.createConcurrentIntObjectMap(ContainerUtil.java:2489)
    at com.intellij.util.containers.ConcurrentRefValueIntObjectHashMap.<init>(ConcurrentRefValueIntObjectHashMap.java:31)
    at com.intellij.util.containers.ConcurrentWeakValueIntObjectHashMap.<init>(ConcurrentWeakValueIntObjectHashMap.java:31)
    at com.intellij.util.containers.ContainerUtil.createConcurrentIntObjectWeakValueMap(ContainerUtil.java:2530)
    at com.intellij.openapi.util.Key.<clinit>(Key.java:38)
    at org.jetbrains.jps.incremental.Utils.<clinit>(Utils.java:40)
    at org.jetbrains.jps.cmdline.BuildMain.main(BuildMain.java:82)
    ... 5 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make private jdk.internal.reflect.ConstructorAccessor java.lang.reflect.Constructor.acquireConstructorAccessor() accessible: module java.base does not "opens java.lang.reflect" to unnamed module @4f9a3314
    at java.base/jdk.internal.reflect.Reflection.throwInaccessibleObjectException(Reflection.java:424)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:199)
    at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:192)
    at java.base/java.lang.reflect.Method.setAccessible(Method.java:186)
    at com.intellij.util.ReflectionUtil.findMethod(ReflectionUtil.java:265)
    at com.intellij.util.ReflectionUtil.getDeclaredMethod(ReflectionUtil.java:279)
    at com.intellij.util.ReflectionUtil.<clinit>(ReflectionUtil.java:422)
    ... 15 more

有人知道如何解决这个问题,还是我应该等到他们发布另一个版本?

【问题讨论】:

    标签: intellij-idea java-9


    【解决方案1】:

    您一直在使用 Java 9 Jigsaw 构建(来自 http://jdk9.java.net/jigsaw/) - IntelliJ 还不能在它上面工作。这是a known issue。您必须坚持使用常规 EA 构建(来自 https://jdk9.java.net/download/)。

    【讨论】:

    • 尼古拉!谢谢你:-)。您的博客是获取有关 Java 9 和一般 Java 信息​​的绝佳来源。我密切关注它,你做得很好。
    • 问题:你能告诉我这两个版本有什么区别吗?
    • 感谢您的赞美。 :) EA 构建是从 Java 9 代码库中的不同分支创建的。直到几个月前,只有 Jigsaw 分支包含模块系统。然后它被合并到主分支中,但 Jigsaw 分支仍然看到了模块系统的早期功能。不过,我不知道哪个特定的变化会导致麻烦。 (顺便说一句,这是根本问题:Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make private jdk.internal.reflect.ConstructorAccessor 。)
    • 现在看来两个站点都指向同一个版本 (148)。两者都不起作用:-(
    • 内部版本号不是其版本字符串的唯一部分 - 这是在最近的版本中运行 java -version 的摘录:build 9-ea+146build 9-ea+146-jigsaw。只有内部版本号相同,但它们的内容不是因为它们是从不同的分支构建的。回答您的问题:我不知道哪个 Jigsaw 版本是与 IntelliJ 合作的最新版本。你是说使用build 9-ea+148 显示同样的异常?
    【解决方案2】:

    我还在 JetBrains 博客上发现这个 comment 说 IntelliJ IDEA 将无法与 JDK9 build 148 及更高版本一起使用。我们应该退回到 build 146 或等待 Intellij 2017.1 EAP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-09
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      相关资源
      最近更新 更多