Как добавить модули в путь модуля Eclipse Oxygen для проекта?
У меня есть проект, который сегодня имеет несколько банок "Библиотеки со ссылками". Вместо этого я хотел бы добавить их как автоматические модули в путь к модулям, чтобы они могли потребоваться в моем модуле-info.java. Как добавить банки в путь к модулю в Eclipse Oxygen?
1 ответ
Вот как я заставил это работать (первые несколько шагов для тех, кто еще не настроил Eclipse для использования JDK 9):
- Установите JDK 9 (9.0.1 была доступна в это время от Oracle).
Сконфигурируйте Eclipse для работы с JDK 9, изменив eclipse.ini, добавив следующие строки и перезапустив Eclipse:
-vm <fullPathToJDK9>/bin --add-modules=ALL-SYSTEM
В свойствах вашего проекта перейдите в Java Build Path и в Classpath разверните поворот для каждого jar, который вы хотите стать модулем. Вы должны увидеть новую запись под названием "Не является модульной". Нажмите на него и нажмите кнопку Изменить. В открывшемся диалоговом окне "Модульные свойства" установите флажок "Определяет один или несколько модулей". Нажмите кнопку ОК, и теперь должно появиться сообщение "Это модульно", и оно будет перемещено в Modulepath.
Примените ваши изменения, и ваш module-info.java должен иметь возможность требовать эти файлы. Используйте имя jar без идентификатора версии или суффикса.jar, например, для myLib-1.0.jar, используйте
requires myLib;
,
Кстати, у меня была проблема с сгенерированными банками Maven с такими именами, как appName-1.0-SNAPSHOT.jar
, Я не мог использовать их в module-info.java, потому что он не мог его найти. Избавление от части SNAPSHOT позволило использовать ее.