ClassNotFoundException при запуске Maven в Дженкинс - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь запустить maven в Дженкинсе, но получаю:

...
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 голосов
/ 19 декабря 2018

Ошибка возникает из-за способа, которым вы объявили свой путь к корзине Maven.После C:\Program в C:\Program Files (x86)\apache-maven-3.6.0\bin есть пробел, и это вызывает проблему.Дженкинс ищет папку с папками Maven внутри C:\Program, которая не существует.

Вы можете разрешить это двумя способами:

Во-первых, попробуйте поместить путь вашего бина Maven в двойные кавычки:

"C:\Program Files (x86)\apache-maven-3.6.0\bin"

Или выможно использовать более абстрактный подход, как указано ниже:

Используйте эти обозначения для путей:

Для 32bit : C:\Program Files (x86)\, вы можете использовать c:\progra~2\

Для 64bit : C:\Program Files\, вы можете использовать c:\progra~1

...