我正在尝试在詹金斯(Jenkins)运行专家,但得到:
...
Parsing POMs
Established TCP socket on 7547
[Spider] $ "C:\Program Files\Java\jdk-11.0.1/bin/java" C:\Program Files (x86)\apache-maven-3.6.0\bin -cp "C:\Program Files (x86)\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven35-agent-1.12.jar;C:\Program Files (x86)\apache-maven-3.6.0\boot\plexus-classworlds-2.5.2.jar;C:\Program Files (x86)\apache-maven-3.6.0/conf/logging" jenkins.maven3.agent.Maven35Main "C:\Program Files (x86)\apache-maven-3.6.0" "C:\Program Files (x86)\Jenkins\war\WEB-INF\lib\remoting-3.27.jar" "C:\Program Files (x86)\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven35-interceptor-1.12.jar" "C:\Program Files (x86)\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.12.jar" 7547
Error: Could not find or load main class C:\Program
Caused by: java.lang.ClassNotFoundException: C:\Program
ERROR: Failed to launch Maven. Exit code = 1
Finished: FAILURE
我知道,詹金斯正在尝试在C:\Program
中找到主类,这当然是错误的。但是我找不到在哪里更改此设置。我的脚本在IntelliJ中运行良好,但在Jenkins中却无法运行。
任何帮助都非常重要。
答案 0 :(得分:1)
由于您声明Maven bin路径的方式而发生错误。 C:\Program
中C:\Program Files (x86)\apache-maven-3.6.0\bin
之后有一个空格,这是引起问题的原因。 Jenkins正在C:\Program
中寻找您不存在的Maven bin文件夹。
您可以通过两种方式解决它:
一个,尝试将您的Maven bin路径放在双引号中:
"C:\Program Files (x86)\apache-maven-3.6.0\bin"
或者,您可以使用如下所示的更抽象的方法:
将这些符号用于路径:
对于 32位:C:\Program Files (x86)\
,您可以使用c:\progra~2\
对于 64位:C:\Program Files\
,您可以使用c:\progra~1