Как мне скомпилировать многомодульный проект Maven, где модули имеют разные версии Java? Возможно, используя Jenv?

Предположим, у меня есть многомодульный проект Maven с двумя модулями:

  • foo; требует Java 1.8 для компиляции
  • bar; требует Java 11 для компиляции

Я хотел бы иметь возможность построить их, запустив mvn clean install из родительского каталога, и пусть они компилируются с использованием соответствующих версий Java.

Давайте проясним: обновление до Java 11 не является началом. Зачем:

  • Я хочу обновить приложение bar в Java 11, чтобы получить новейшие функции и улучшения языка Java. bar является автономным приложением Spring Boot, и я могу это сделать.
  • заявка foo плагин модуля развертывания JBoss Он подключен к стороннему приложению, которое в настоящее время находится на Java 8. Я не могу поместить модуль, скомпилированный в Java 11, в приложение, работающее на Java 8.

Я вижу, что есть способ сделать это с помощью maven-toolchains-plugin, как описано в этом посте. Это может сработать. Но я пользуюсь jenv управлять версиями, и можно установить версию Java для каждого каталога (используя jenv local). Мне интересно, есть ли способ использовать Jenv для этого вместо плагина toolchains. Это делает почти все, что мне нужно; Мне просто нужно выяснить, как заставить Maven читать версию Java из файла конфигурации jenv в каталоге.

0 ответов

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