0

我在一个特定项目的运行配置中遇到了一些问题。我已更新 Eclipse Oxygen 以使用 Java 9,并且能够清除任何编译器错误。当我去运行/调试时,会发生错误,这就是日志中的内容:

!ENTRY org.eclipse.core.jobs 4 2 2017-09-29 13:51:28.520
!MESSAGE An internal error occurred during: "Launching (My Run Config Name)".
!STACK 0
java.lang.NullPointerException
  at org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeDependencies(JavaRuntime.java:954)
  at org.eclipse.jdt.launching.StandardClasspathProvider.computeUnresolvedClasspath(StandardClasspathProvider.java:53)
  at org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedRuntimeClasspath(JavaRuntime.java:1502)
  at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getBootpathExt(AbstractJavaLaunchConfigurationDelegate.java:299)
  at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getVMSpecificAttributesMap(AbstractJavaLaunchConfigurationDelegate.java:615)
  at org.eclipse.jdt.launching.JavaLaunchDelegate.launch(JavaLaunchDelegate.java:71)
  at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
  at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
  at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039)
  at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256)
  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

只需转到运行配置并查看此配置,我就会在日志中得到相同的错误,因此配置不可编辑。

我没有看到我的其他配置存在问题,但该项目要小得多且不那么复杂。但是,如果我回滚到 1.7 JDK,它们都可以工作。

我仍然只是使用 .classpath 文件,还没有开始处理模块信息文件,不确定这是否是个问题。这是 JRE_CONTAINER 的 .classpath 条目的样子(但在其他工作项目上看起来相同,所以不确定是否有任何问题。我添加的唯一模块是 java.xml.ws):

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
    <attributes>
        <attribute name="module" value="true"/>
        <attribute name="limit-modules" value="java.se,javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web,jdk.accessibility,jdk.attach,jdk.compiler,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jdi,jdk.management,jdk.packager,jdk.plugin.dom,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,oracle.desktop,oracle.net,jdk.dynalink,jdk.incubator.httpclient,jdk.jfr,jdk.jshell,jdk.jsobject,jdk.management.cmm,jdk.management.jfr,jdk.management.resource,jdk.net,jdk.packager.services,jdk.scripting.nashorn,jdk.xml.dom,java.xml.ws"/>
    </attributes>
</classpathentry>
4

1 回答 1

0

解决方案是升级到新发布的支持 Java 9 的 Eclipse 包 Oxygen.1a (4.7.1a)。

于 2017-10-12T13:16:11.177 回答