Ошибка в плагине Maven Eclipse? не удается автоматически добавить JAR-файл зависимости в рабочей области в путь к модулю запуска конфигурации - PullRequest
0 голосов
/ 16 апреля 2020

Итак, вот краткое изложение моей ситуации:

У меня есть два Java проекта: один в Java 8 (поэтому не модульный) и один в Java 11, который является модульным.

Модульная / немодульная проблема может быть неактуальной, но для ясности я ее сформулировал.

Для справки Java 8 - это библиотека игр, которую я создал, Java 11 - это реализация игры, которую я делаю.

Мне нужно сослаться на библиотеку Java 8 из моего игрового проекта Java 11.

Оба проекта - Maven проекты, и моя зависимость определена в POM-файле моей игры.

Я использую последнюю версию Eclipse (2020-03 4.15.0) и Maven 3.6.3 с Java версия 11.0.7 OracleJDK .

Моя проблема:

Насколько я понимаю, мой библиотечный проект Java 8 становится автоматическим c модулем. Добавление его в мой файл информации о модуле игрового проекта Java 11 работает (с предупреждением о нестабильности имени, но без проблем), и я могу скомпилировать код игрового проекта без проблем в Eclipse.

Когда Я пытаюсь запустить игру, я получаю Module <my-library> not found, required by <my-game>. Теперь, поскольку Maven управляет зависимостями, он должен просто работать.

Как мне запустить мою игру?

1 Ответ

0 голосов
/ 16 апреля 2020

Я могу это исправить тремя способами ...

Сначала я могу просто вручную добавить JAR-файл проекта библиотеки (в целевой папке) в путь к модулю запуска конфигурации моего игрового проекта.

Во-вторых, я могу удалить проект библиотеки из моей рабочей области. Это означает, что Maven затем идет и получает JAR из локального репозитория m2 (он был установлен с mvn install). В этой ситуации Maven автоматически добавляет JAR в путь к модулю Run Configuration.

В-третьих, я могу изменить версию библиотечного проекта в его файле POM и, как и во втором варианте, это означает, что он больше не удовлетворяет. Затем зависимость и Maven ищут JAR в локальном репозитории m2.

Но ...

Все три из этих опций кажутся мне ненужными. Это похоже на ошибку, когда Maven не может добавить зависимость проекта в рабочей области к пути к модулю в конфигурации запуска в Eclipse.

Если честно, это плагин Maven Eclipse, который автоматически обнаруживает, когда один из проекты в рабочей области являются зависимостью и используют эту «живую» версию вместо версии репо m2. Это очень удобно в тех ситуациях, когда разработка библиотеки происходит параллельно.

Но пока эта ошибка не будет исправлена ​​(или если это не ошибка, и я что-то упустил), это вызывало у меня массу проблем. разочарование. Я опубликовал это в надежде помочь кому-то еще, кто может столкнуться с той же проблемой.

...