Java 9で動作するようにEclipse Oxygenを構成した後、Source => Generate toString()
にアクセスすると、このエラーメッセージが表示されます。
メソッド実装を作成できません。
理由:module:Java.baseはプロジェクトのビルドパスにありません
constructor
、getterおよびsetter、hashcode()
およびequals()
の生成は正常に機能しますが、toString()
のみが機能しません。
toString()
メソッドを手動で入力すると、正常に機能します。また、JRE 8を使用してプロジェクトを作成する場合、toString()
が正常に動作するように生成します。それを修正する方法はありますか?
https://bugs.Eclipse.org/521995 -つまり、それは実際にJava 9.のベータサポートのバグです。
EDIT:その特定のバグはPhotonストリーム(6月にリリース予定)でのみ修正されますが、この領域の他のいくつかの修正は移植されました。少し運が良ければ、4.7.3aリリース(Java 10サポート、4月11日に予定)でほとんどのユーザーはこの問題を解決できます。
プロジェクト->プロパティ-> Java Build PathLibrariesセクションで、どの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でした。
Java 9、その後、Java 9以降でJDK 1.8をインストールし、2つを解決しました。問題の1つはtoString()生成であり(JavaDocの問題が機能しないということは、要素の上にカーソルを置いたときに何も説明がないことを意味します)。