Eclipse Oxygen 生成 toString 生成不起作用

Eclipse Oxygen generate toString generation not working

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

Cannot create method implementations.
Reason: module:java.base is not on its project's build path

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

如果我手动输入 toString() 方法,它工作正常。此外,如果我使用 JRE 8 创建项目,生成 toString() 工作正常。有什么解决办法吗?

快速浏览后,我提交了 https://bugs.eclipse.org/521995 - 也就是说,它确实是 Java 9.

的 Beta 支持中的一个错误

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

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

转到 Project --> Properties --> Java Build PathLibraries 部分,查看哪个 jdk/jre 包括在内(在我的例子中我有 Java 9,但项目配置为 Java 8)。

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

在我的例子中,路径是:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib