Eclipse Oxygen生成toString生成不起作用

时间:2017-09-06 00:21:55

标签: java eclipse tostring java-9 eclipse-oxygen

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

  

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

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

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

3 个答案:

答案 0 :(得分:12)

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

编辑:虽然该特定错误仅在Photon流中修复(将于6月发布),但此区域中的其他几个修复程序确实已重新移植。因此,运气好的4.7.3a版本(支持Java 10支持,定于4月11日)应该为大多数用户解决这个问题。

答案 1 :(得分:1)

转到项目 - >属性 - > Libraries 部分的Java Build Path ,查看包含的jdk / jre(在我的例子中,我有Java 9,但项目是使用Java 8配置的)。

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

就我而言,路径是: /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib

答案 2 :(得分:0)

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