18

在我将 Eclipse Oxygen 配置为使用 Java 9 后,当我转到 Source => Generate 时,toString()我收到以下错误消息:

无法创建方法实现。
原因:module:java.base 不在其项目的构建路径上

生成constructor, getter 和 setter,hashcode()并且equals()工作正常,只有toString()不起作用。

toString()如果我手动键入该方法,它可以正常工作。此外,如果我使用 JRE 8 创建项目,则生成toString()工作正常。任何想法如何解决它?

4

3 回答 3

13

快速浏览后,我提交了https://bugs.eclipse.org/521995 - 即,它确实是 Java 9 的 Beta 支持中的一个错误。

编辑:虽然该特定错误仅在 Photon 流(将于 6 月发布)中得到修复,但该领域的其他几个修复确实得到了移植。因此,幸运的是,4.7.3a 版本(支持 Java 10,计划于 4 月 11 日发布)应该可以为大多数用户解决这个问题。

于 2017-09-07T13:25:45.007 回答
1

Libraries部分转到Project --> Properties --> Java Build Path,查看包含哪些 jdk/jre(在我的情况下,我在那里有 Java 9,但项目配置了 Java 8)。

如果错误,则单击右侧菜单中的Add External Jars ...。要找到 jar(如果在 mac 上),请转到/Library/Java/JavaVirtualMachines,然后导航直到找到rt.jar文件。

在我的情况下,路径是:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib

于 2018-04-25T09:48:57.453 回答
0

当我使用 Java 9 时,同样的问题发生在我身上,之后,我卸载了 Java 9,后来我安装了 JDK 1.8,我解决了两个问题,一个是 toString() 生成和(JavaDoc 问题不起作用意味着没有任何描述当我将光标悬停在元素上时)。

于 2017-12-24T12:15:48.883 回答