У меня есть проект Maven с 3 подмодулями: 2 из них должны быть скомпилированы с java8, а один - с java11. Моя основная переменная среды JAVA_HOME при запуске maven настроена на JDK 8, установленный на моей машине. Я хочу указать, чтобы использовать jdk 11 только для указанного подмодуля c, который нуждается в нем, но я не могу заставить его работать.
В отце POM у меня есть следующее
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
В конкретном подпроекте c, который требует jdk 11, я попытался настроить вещи, следуя этой документации http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html, поэтому у меня есть
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>11</release>
<verbose>true</verbose>
<fork>true</fork>
<executable>${JAVA_11_HOME}/bin/javac</executable>
</configuration>
</plugin>
, и переменная JAVA_11_HOME установлена в моем settings. xml (в соответствии с do c)
Когда я запускаю компиляцию (либо всего проекта, либо отдельного подмодуля java11), я получаю
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
(default-compile) on project features-serving: Compilation failure -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project
features-serving: Compilation failure
Если Я бегу с включенной отладкой и трассировкой стека, я не получаю никакой полезной информации. В принципе, я не могу понять, в чем дело. Единственное, что я уверен, это то, что maven правильно выбирает путь JDK 11. из моих настроек. xml файл.