Как добавить модули в путь модуля Eclipse Oxygen для проекта?

У меня есть проект, который сегодня имеет несколько банок "Библиотеки со ссылками". Вместо этого я хотел бы добавить их как автоматические модули в путь к модулям, чтобы они могли потребоваться в моем модуле-info.java. Как добавить банки в путь к модулю в Eclipse Oxygen?

1 ответ

Вот как я заставил это работать (первые несколько шагов для тех, кто еще не настроил Eclipse для использования JDK 9):

  1. Установите JDK 9 (9.0.1 была доступна в это время от Oracle).
  2. Сконфигурируйте Eclipse для работы с JDK 9, изменив eclipse.ini, добавив следующие строки и перезапустив Eclipse:

    -vm
    <fullPathToJDK9>/bin
    --add-modules=ALL-SYSTEM
    
  3. В свойствах вашего проекта перейдите в Java Build Path и в Classpath разверните поворот для каждого jar, который вы хотите стать модулем. Вы должны увидеть новую запись под названием "Не является модульной". Нажмите на него и нажмите кнопку Изменить. В открывшемся диалоговом окне "Модульные свойства" установите флажок "Определяет один или несколько модулей". Нажмите кнопку ОК, и теперь должно появиться сообщение "Это модульно", и оно будет перемещено в Modulepath.

  4. Примените ваши изменения, и ваш module-info.java должен иметь возможность требовать эти файлы. Используйте имя jar без идентификатора версии или суффикса.jar, например, для myLib-1.0.jar, используйте requires myLib;,

Кстати, у меня была проблема с сгенерированными банками Maven с такими именами, как appName-1.0-SNAPSHOT.jar, Я не мог использовать их в module-info.java, потому что он не мог его найти. Избавление от части SNAPSHOT позволило использовать ее.

Другие вопросы по тегам