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

Azure管道-无效的目标版本:11

司徒博容
2023-03-14

我正在为带有JDK 11的spring-boot应用程序设置一个管道。运行管道时出现以下错误。

[错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.8.1:在项目xxxxx上编译(default-compile):致命错误编译:无效目标发布:11-

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

但这是正常的本地部署命令:mvn clean package spring-boot:run。

有人能告诉我为什么这个问题只发生在管道中吗?

共有3个答案

上官琦
2023-03-14

我也有同样的问题。您需要在pipeline.yaml文件中指定jdk版本:

要使用Maven构建,请将以下片段添加到您的azure-pipelines.yml文件中。更改值,例如pom.xml文件的路径,以匹配您的项目配置。有关这些选项的更多信息,请参阅Maven任务。

steps:
- task: Maven@3   inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.11'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    goals: 'package'

https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/java?view=azure-devops#maven

怀飞掣
2023-03-14

此问题是因为您的管道代理中没有预安装Java11。

你有两个选择来解决这个问题。

选项1:将管道代理更改为预装了Java11的代理。

如果您使用的是Microsoft托管的管道代理,您可以使用此链接来检查哪些代理预装了Java 11:Microsoft托管的代理

选项2:在现有管道代理中安装Java11 JDK。

可以使用 Java 工具安装程序任务在现有管道上安装任何 Java 版本。

法弘亮
2023-03-14

也许您管道中运行的JDK是版本8。在这种情况下,执行的Java编译器不理解版本11的含义。也许您的本地环境正在使用Java11,因此不会发生此问题。

 类似资料:
  • 问题内容: 我见过类似的问题,但尚未找到答案。 使用Maven编译,我得到: 这是pom.xml: Javac版本: Java版本: 知道会是什么吗? 问题答案: 您需要将JAVA_HOME设置为jdk7主目录,例如在Microsoft Windows上: “ C:\ Program Files \ Java \ jdk1.7.0_40” 或在OS X上: /图书馆/Java/JavaVirtua

  • 使用maven compile,我得到: 下面是pom.xml: Javac版本: 知道可能是什么吗?

  • 我试图在OPENSHIFT上部署应用程序,但maven无法编译它,出现错误: 目标版本1.8无效 java版本“1.8.0_05” Java(TM)SE运行时环境(build 1.8.0_05-B13) Java HotSpot(TM)64位服务器VM(build 25.5-B02,混合模式)

  • 我最近下载了与NetBeans捆绑在一起的JDK1.8.0.006。然后我发现我一直在用Java1.7开发的JavaFx项目不会用Java1.8编译,所以我把JDK降到了1.7。但我还是无法让它运行/编译。我得到了这个错误: 我真的被困住了,非常感谢您的帮助。

  • 问题内容: 我正在尝试构建使用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。