使用JDK11的Maven:javac:无效标志:-release [英] maven with JDK11: javac: invalid flag: --release
问题描述
我正在尝试使用Java 11建立一个简单的maven项目.由于我想保持JAVA_HOME为版本8,因此我正在使用maven-toolchains-plugin
使该项目的maven使用jdk11.
尽管maven成功找到了与jdk-11.0.1匹配的工具链,但我不断收到"javac:invalid flag:--release".我在做什么错了?
以下是插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>11</version>
</jdk>
</toolchains>
</configuration>
</plugin>
工具链定义为:
<toolchain>
<type>jdk</type>
<provides>
<version>11</version>
<id>JavaSE-1.11</id>
</provides>
<configuration>
<jdkHome>C:\Program Files\Java\jdk-11.0.1\bin</jdkHome>
</configuration>
<toolchain>
我发现,配置很好.问题是toolchains.xml
中的jdkHome
指向的是\jdk-11.0.1\bin
方向,而不是直接指向\jdk-11.0.1
.
I'm trying to set up a simple maven project with java 11. As I want to keep JAVA_HOME to be version 8, I'm using maven-toolchains-plugin
to make maven use jdk11 for this project.
While maven successfully finds a matching toolchain for jdk-11.0.1, I keep getting " javac: invalid flag: --release". What am I doing wrong?
Here are the plugin configurations:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>11</version>
</jdk>
</toolchains>
</configuration>
</plugin>
The toolchain is defined as:
<toolchain>
<type>jdk</type>
<provides>
<version>11</version>
<id>JavaSE-1.11</id>
</provides>
<configuration>
<jdkHome>C:\Program Files\Java\jdk-11.0.1\bin</jdkHome>
</configuration>
<toolchain>
As I found out, the configuration is just fine. The problem was that jdkHome
in toolchains.xml
was pointing to the \jdk-11.0.1\bin
direction instead of \jdk-11.0.1
directly..... Using <jdkHome>C:\Program Files\Java\jdk-11.0.1</jdkHome>
solves the problem..
这篇关于使用JDK11的Maven:javac:无效标志:-release的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!