Использование Java с модулями - PullRequest
0 голосов
/ 23 февраля 2019

Я только что обновился до Java 11 и вижу, что когда я запускаю новый проект в Eclipse, он автоматически включает модуль и файл module-info.java.Я кратко посмотрел на это, и мне показалось, что я могу это проигнорировать, но когда я иду на импорт исходных файлов, они автоматически добавляются в какой-то пакет, который я не создал.Я переименую пакет в default, потому что это всего лишь маленький игрушечный проект, и пытаюсь удалить все объявления пакета из всех файлов.Тем не менее, теперь я получаю сообщение об ошибке в начале каждого файла «Должен объявить именованный пакет, потому что этот модуль компиляции связан с именованным модулем exampleMod», а в файле модуля: «Тип java.lang.Object не может бытьрешено. На него косвенно ссылаются необходимые файлы .class ".

На схожий вопрос, основной ответ сказал очистить проект или переустановить Eclipse.Ни одна из них не устранила проблему для меня.

Я также пытался добавить package default; в начало исходных файлов, но это не решило проблему.

1 Ответ

0 голосов
/ 23 февраля 2019

Использование Java Platform Module System (JPMS) запрещает иметь .java файлы в пакете по умолчанию.Но вам не нужно использовать JPMS .Просто удалите файл module-info.java , если вы не хотите использовать JPMS и хотите поместить файлы .java в пакет по умолчанию.

При создании нового проекта Java, вас спросят, хотите ли вы файл module-info.java:

enter image description here

Если вы не хотите использовать JPMS, нажмите DonСоздайте .Проект не-JPMS можно преобразовать в проект JPMS, добавив файл module-info.java: щелкните правой кнопкой мыши папку проекта и выберите Настроить> Создать module-info.java .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...