Azure DevOps:代理上未安装 Maven

Azure DevOps:代理上未安装 Maven

我有一个 Azure Pipeline,用于安装 Java 16 并在我的存储库上运行 Maven 包。管道如下所示:

trigger:
- master

pool:
  vmImage: ubuntu-latest

steps:
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '16'
    jdkDestinationDirectory: '$(Agent.ToolsDirectory)/jdk16'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: AzureStorage
    azureResourceManagerEndpoint: ******
    azureStorageAccountName: ******
    azureContainerName: ******
    azureCommonVirtualFile: jdk-16.0.1_linux-aarch64_bin.tar.gz
- task: Maven@3
  inputs:
    mavenPomFile: '$(Build.SourcesDirectory)/pom.xml'
    options: '-P test'
    publishJUnitResults: false
    javaHomeOption: JDKVersion
    mavenVersionOption: Default
    mavenAuthenticateFeed: false
    effectivePomSkip: false
    sonarQubeRunAnalysis: false

不幸的是,这不能正确运行,并在 Mavern 任务中给出以下错误

开始:Maven ===================================================================================== 任务:Maven 描述:使用 Apache Maven 构建、测试和部署 版本:3.186.0 作者:Microsoft Corporation 帮助:https://docs.microsoft.com/azure/devops/pipelines/tasks/build/maven ===================================================================================== 代理上未安装 Maven /usr/bin/mvn -version /usr/bin/mvn:191:exec:/opt/hostedtoolcache/jdk16/JAVA_HOME_16_X64_jdk-16.0.1_linux-aarch64_bin_tar.gz/jdk-16.0.1/bin/java:Exec 格式错误 ##[error]构建失败。 ##[错误]进程返回退出代码 1:文件名 '/home/vsts/agents/2.187.1/externals/node10/bin/node',参数 '"/home/vsts/work/_tasks/Maven_ac4ee482-65da-4485-a532-7b085873e532/3.186.0/maventask.js"'。完成:Maven

但是,如果我删除第一个安装 Java 16 JDK 的任务,我得到的错误建议 Maven 已安装,因为它下载了每个 pom 文件,并且在过程的后期出现错误

[错误] 无法在项目打印服务器上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile):致命错误编译:错误:无效目标版本:16 -> [帮助 1] [错误] [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。 [错误] 使用 -X 开关重新运行 Maven 以启用完整调试日志记录。 [错误] [错误] 有关错误和可能的解决方案的更多信息,请阅读以下文章: [错误] [帮助 1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

我相信发生这种情况是因为它无法访问 Java 16。

有人能给我指出正确的方向,以便能够安装 Java 16 JDK 并且让 Maven 仍然正常运行吗?

答案1

经过一番思考后,结果发现问题出在我使用的 JDK 版本上。

当我从以下位置交换时:

jdk-16.0.1_linux-aarch64_bin.tar.gz

jdk-16.0.1_linux-x64_bin.tar.gz

它刚刚开始工作。希望这对将来的某人有所帮助

相关内容