当前位置: 首页 > 知识库问答 >
问题:

无法构建针对JDK 11的Java项目,目标版本11无效

农明辉
2023-03-14

我将JDK 11与Maven 3.6.2一起安装,并且正在使用容易出错的方式编译我的Javamaven项目。使用此配置:

pom。xml:

<properties>
  <java.version>11</java.version>
  <maven.compiler.source>${java.version}</maven.compiler.source>
  <maven.compiler.target>${java.version}</maven.compiler.target>
</properties>

pom。xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>${maven.compiler.plugin.version}</version>
    <configuration>
        <compilerId>javac-with-errorprone</compilerId>
        <forceJavacCompilerUse>true</forceJavacCompilerUse>
            <useIncrementalCompilation>false</useIncrementalCompilation>

        <compilerArgs>
            <arg>-Xep:ParameterName:OFF</arg>
        </compilerArgs>
        <compilerArguments>
            <endorseddirs>${endorsed.dir}</endorseddirs>
        </compilerArguments>
     </configuration>
     <dependencies>
        <dependency>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-compiler-javac-errorprone</artifactId>
          <version>2.8.5</version>
        </dependency>
        <dependency>
          <groupId>com.google.errorprone</groupId>
          <artifactId>error_prone_core</artifactId>
          <version>${google.error.prone.version}</version>
        </dependency>
      </dependencies>
  </plugin>

我收到以下错误:

CompilerException:InvocationTargetException:无效目标发布:11

我尝试以下信息:无法使用Maven编译简单的Java10/Java11项目

然而,升级ASM并没有改变任何事情。

共有2个答案

贾骏喆
2023-03-14

我在属性中输入以下内容:

江飞白
2023-03-14

根据maven文件:

编译器插件用于编译项目的源代码。从3.0开始,默认编译器javax.tools.JavaCompiler(如果您使用的是java 1.6),用于编译Java源代码。如果您想强制使用javac插件,则必须配置插件选项forceJavacCompileruse。

还要注意,目前默认的源设置是1.6,默认的目标设置是1.6,与运行Maven的JDK无关。强烈建议您通过设置Java编译器的源和目标中所述的源和目标来更改这些默认值。

将源和目标更改为11后,如下所示:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                </configuration>
            </plugin>

上述java 11版本无效错误未出现

 类似资料:
  • 问题内容: 我正在尝试构建使用Java 8构建的应用程序,现在已升级到Java11。我在 Windows计算机中 使用oracle文章安装了Java 11 ,并使用 IntelliJ IDEA 2017 作为IDE。 我更改了系统环境变量并设置了 并将其添加到变量中。 当我在IntelliJ中构建应用程序时,这是我得到的: 到目前为止,这是我尝试过的: 我将目标值从8 更改为11,但这无济于事。同

  • 我正在尝试构建一个使用Java8构建的应用程序,现在它已经升级到Java11了。我在windows机器中使用oracle文章安装了Java11,并且使用IntelliJ IDEA 2017作为我的IDE。 我更改了系统环境变量,并将 当我在IntelliJ中构建应用程序时,我得到的是: 这是我目前所尝试的: > 我将目标值从8更改为11,但这没有帮助。另外,在中验证了并且我的所有模块都设置为11。

  • 我正在为带有JDK 11的spring-boot应用程序设置一个管道。运行管道时出现以下错误。 [错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.8.1:在项目xxxxx上编译(default-compile):致命错误编译:无效目标发布:11- 但这是正常的本地部署命令:mvn clean package spring-boot

  • 请帮帮我,我已经花了10个小时来解决这个问题了,但我的应用程序在我的电脑上仍然不能很好地运行,但我不能把它放在Heroku上!这是pom ester@ester-hp-pavilion-laptop-15-cs3xxx:~$update-alternatives--列表java/usr/lib/jvm/java-11-openjdk-amd64/bin/java

  • 我第一次安装PhoneGap并试图构建“HelloWorld”项目,但每次都失败了。即使我只创建了一个新项目,也可以在尝试构建之后直接添加Android作为平台。 我使用以下命令:-cordova创建你好com.example.helloHelloWorld-cd Hello/-cordova平台添加android-phonegap本地构建android 错误:http://pastebin.co