在Jenkins中运行Maven时发生ClassNotFoundException

时间:2018-12-18 14:32:07

标签: java maven jenkins classnotfoundexception

我正在尝试在詹金斯(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中却无法运行。

任何帮助都非常重要。

1 个答案:

答案 0 :(得分:1)

由于您声明Maven bin路径的方式而发生错误。 C:\ProgramC:\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

相关问题