在Windows 10上我下载并安装了Eclipse Oxygen [发布(4.7.1a) 使用Eclipse Installer。
然后我使用New Project向导创建了一个简单的Java项目(没有模块的东西):
public class Demo1 { public static void main(String[] args) { new Demo1().test(0L); } void test(int i) { doStuff(); } void test(long l) { doStuff(); } void doStuff() { String s = "abcde"; s = s.substring(2,4); System.out.print("s="); System.out.println( s.toString()); } }
运行正常,如果我为 test()或 doStuff()执行 CTL => Open Implementation ,或者系统或字符串或 toString()或 substr()一切正常。
但是,对于 println()和 print(),会显示错误消息:
!ENTRY org.eclipse.jdt.ui 4 0 2017-10-23 01:42:54.695!MESSAGE An 搜索'print'的实现时发生错误。看到 错误日志了解详情。 !堆栈1 Java模型异常:Java模型 状态[不在其项目的构建路径上] org.eclipse.jdt.internal.core.JavaElement。的 newJavaModelException (JavaElement.java:570) 在 org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:247) 在 org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:505) 在 org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:241) 在 org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:505) 在 org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:241) 在 org.eclipse.jdt.internal.core.SourceRefElement.generateInfos(SourceRefElement.java:107) 在 org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:583) 在 org.eclipse.jdt.internal.core.BinaryType.getElementInfo(BinaryType.java:287) 在 org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:306) 在 org.eclipse.jdt.internal.core.BinaryType.isInterface(BinaryType.java:725) 在 org.eclipse.jdt.internal.ui.javaeditor.JavaElementImplementationHyperlink $ 1.run(JavaElementImplementationHyperlink.java:237) 在 org.eclipse.jface.operation.ModalContext $ ModalContextThread.run(ModalContext.java:119) !SUBENTRY 1 org.eclipse.jdt.core 4 1006 2017-10-23 01:42:54.695 !MESSAGE不在其项目的构建路径上
这看起来像Eclipse或其安装程序中的错误,但问题非常基本但我没有看到任何报告。我有几个问题出现了:
是否有其他人遇到此问题,或者是否有效?
我可以/应该做些什么配置来解决这个问题吗?
打开实施的任何想法只会为 print()和 println()提供错误?
答案 0 :(得分:1)
这似乎是@ZhekaKozlov和another thread所指出的当前实施中的一个错误,其中@Stephan分享了未来发布的工作进展文档{{3说明: -
注意 :使用Java Runtime 9运行Eclipse并不是必需的,以获得Java 9支持。但是,需要启用Java运行时9 项目的构建路径,用于编译针对系统的模块化项目 模块。
将Java Runtime 9添加到项目的构建路径时,系统模块列在软件包资源管理器 中的系统库下:
New & Noteworthy for Photon M3
我假设--add-modules=ALL-SYSTEM
正在解决此问题,而用户将此-vmargs
arg附加到eclipse.ini
。