我正在尝试在我的OpenShift Jenkins上运行maven-android-sdk-deployer。它至少需要Maven 3.1.1才能运行,而OpenShift目前默认使用3.0.5版本。因此,我尝试配置自定义Maven安装。
我的Maven系统配置:
似乎安装了Maven,因为如果“存档中的子文件夹”不匹配,则会出现另一条错误消息。 zip文件有效。
但我不能在工作中使用它。
我创建了一个自由式作业,并使用已配置的Maven安装添加了Maven步骤。
运行作业时出现错误消息:
[maven-android-sdk-deployer] $ app-root/data/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven-3.1.1/apache-maven-3.1.1/bin/mvn install -P 4.1
FATAL: command execution failed
java.io.IOException: Cannot run program "app-root/data/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven-3.1.1/apache-maven-3.1.1/bin/mvn" (in directory "app-root/data/jenkins/workspace/maven-android-sdk-deployer"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
... 13 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
... 17 more
命令行的解决方法
我在文件系统中检查了maven-android-sdk-deployer
工作区,并且myappbldr-gear上都存在app-root/data/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven-3.1.1/apache-maven-3.1.1/bin/mvn
。
当我从命令行运行命令时,我得到相同的错误,而追加~/
到maven路径按预期工作:
[maven-android-sdk-deployer] $ ~/app-root/data/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven-3.1.1/apache-maven-3.1.1/bin/mvn install -P 4.1
看起来这是一个管理问题。 我该如何解决这个问题?