我试图使用Maven包装来运行Maven,而不是使用Maven任务。但是,它失败了,因为它使用的是一个旧版本的Java。JavaInstaller任务似乎需要一个用于JDK的远程源代码,我宁愿避免这样做,而使用与Maven任务一起工作的那个,但是我在任何地方都找不到它的文档。
发布于 2020-10-08 10:50:43
您还可以使用现在任务来激活预装的JavaToolInstaller版本之一。
- task: JavaToolInstaller@0
inputs:
versionSpec: '11'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'它还将设置JAVA_HOME并将PATH放在前面,请参阅源代码:https://github.com/microsoft/azure-pipelines-tasks/blob/46cca412451ac4418d6332114fca8ef8c3095de1/Tasks/JavaToolInstallerV0/javatoolinstaller.ts#L80
发布于 2020-07-28 01:36:36
要使用的Java版本可以通过用于Linux或macOS的任务的env字段设置:
- script: |
java -version
env:
JAVA_HOME: $(JAVA_HOME_8_X64)
PATH: $(JAVA_HOME_8_X64)/bin:$(PATH)对于Windows,将路径中的冒号更改为分号:
- script: |
java -version
env:
JAVA_HOME: $(JAVA_HOME_8_X64)
PATH: $(JAVA_HOME_8_X64)/bin;$(PATH)Java版本的备选方案包括:
JAVA_HOME_7_X64 vs2017-win2016,windows-2019macos-10.14,macos-10.15ubuntu-16.04,ubuntu-18.04JAVA_HOME_8_X64 vs2017-win2016,windows-2019macos-10.14,macos-10.15ubuntu-16.04、ubuntu-18.04、ubuntu-20.04JAVA_HOME_11_X64 vs2017-win2016,windows-2019macos-10.14,macos-10.15ubuntu-16.04、ubuntu-18.04、ubuntu-20.04JAVA_HOME_12_X64 macos-10.14,macos-10.15ubuntu-16.04,ubuntu-18.04JAVA_HOME_13_X64 vs2017-win2016,windows-2019macos-10.14,macos-10.15JAVA_HOME_14_X64 macos-10.14,macos-10.15发布于 2022-05-20 07:06:13
正如马丁·克莱登维斯已经提到的那样,可以使用JavaToolInstaller。
但是,当在自托管代理上使用时,需要在代理上安装Java,并且需要将所需的环境变量设置为指向安装目录。
JavaToolInstaller使用从其配置派生的环境变量。公约:
JAVA_HOME_${versionSpec}_${jdkArchitectureOption}我们可以在代理的主目录中的.env文件中设置环境变量,如下所示:
JAVA_HOME_17_x64=/usr/lib/jvm/temurin-17-jdk-amd64编辑.env后,需要重新启动代理,使环境变量可用于管道。这可以通过(代理人的家)来完成。
./svc.sh stop
./svc.sh start见Azure文档。
在此之后,可以添加如下步骤:
- task: JavaToolInstaller@0
inputs:
versionSpec: '17'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'https://stackoverflow.com/questions/61124946
复制相似问题