Eclipse Oxygen генерирует генерацию toString не работает

После того, как я настроил Eclipse Oxygen для работы с Java 9, когда я перехожу к Source => Generate toString() я получаю это сообщение об ошибке:

Невозможно создать реализации методов.
Причина: модуль: java.base не находится на пути его создания проекта

Генерация constructor, getters и seters, hashcode() и equals() работает нормально, только toString() не работает.

Если я toString() метод toString() вручную, он отлично работает. Также, если я создаю проект с использованием JRE 8, сгенерируйте toString() работающий нормально. Есть идеи, как это исправить?

Ответ 1

После быстрого просмотра я подал https://bugs.eclipse.org/521995 - то есть, это действительно ошибка в поддержке бета-версии Java 9.

EDIT: хотя эта ошибка исправлена только в потоке Photon (который будет выпущен в июне), некоторые другие исправления в этой области вернули портированные. Таким образом, с большой удачей релиз 4.7.3a (с поддержкой Java 10, запланированный на 11 апреля) должен решить эту проблему для большинства пользователей.

Ответ 2

Перейдите в Project → Properties → 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.

Ответ 3

эта же проблема происходила со мной, когда я использовал Java 9, после чего я удалил Java 9, а позже установил JDK 1.8, и я решил две проблемы: генерация toString() и (проблема с JavaDoc не работает, значит нет описания ни о чем когда я наводил курсор на элементы).