java - maven 与 JDK11 : javac: invalid flag: --release

标签 java maven java-11 maven-toolchains-plugin

我正在尝试使用 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>

最佳答案

正如我所发现的,配置很好。问题是 jdkHometoolchains.xml指向 \jdk-11.0.1\bin方向而不是 \jdk-11.0.1直接.....使用<jdkHome>C:\Program Files\Java\jdk-11.0.1</jdkHome>解决问题..

关于java - maven 与 JDK11 : javac: invalid flag: --release,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53571709/

相关文章:

java - Collectors.toSet() 中的哪个 Set 实现?

apache-httpclient-4.x - Spring RestTemplate 出现 JDK11 错误发布数据超过一定限制

java - 使用 Maven 隐藏 list 条目

java -jar jarname 不解压所有资源文件

java - 为什么即使我没有实现必要的功能,Parcelable 也能工作?

maven - 防止 Jenkins 构建(从而重新部署)已发布版本的 Maven 项目

java - maven Surefire 插件 - 指定单个测试 - 不运行

java - Spring MVC : What's the right way to register custom Validator in REST controller

java - Jmockit 不会合并使用coverage-output=serial 生成的两个coverage.ser 文件

java - 通用参数化类型返回生成警告或错误