如何从 Jenkins 为 maven 指定 -X 或 -e 标志

opi*_*ike 7 jenkins

我正在尝试调试通过 jenkins 运行的构建,并且控制台日志中显示以下错误消息:

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
Run Code Online (Sandbox Code Playgroud)

有没有办法使用jenkins GUI通过jenkins将这些标志传递到maven?

Mor*_*ajb 6

您可以添加-X到您的任务列表中,如果有clean install,只需将其更改为clean install -X

谢谢


Ess*_*Boy 1

这取决于你如何运行maven,它只是一个java程序。有 2 个脚本,一个用于 windows,一个用于 unix/cygwin。这不能用 MAVEN_OPTS 来完成,您必须更改 mvn 脚本。

1)找到你的maven安装位置:

$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: C:\opensource\apache-maven-3.3.9
Java version: 1.8.0_92, vendor: Oracle Corporation
Java home: C:\PROGRA~1\Java\jdk1.8.0_92\jre
Default locale: en_GB, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
Run Code Online (Sandbox Code Playgroud)

2) 在文件底部的 $M2_HOME/bin/mvn 中添加 unix/cygwin 的参数(其中 M2_HOME 是 maven 的安装目录):

exec "$JAVACMD" \
  $MAVEN_OPTS \
  $MAVEN_DEBUG_OPTS \
  -classpath "${M2_HOME}"/boot/plexus-classworlds-*.jar \
  "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \
  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
  ${CLASSWORLDS_LAUNCHER} "$@" -X
Run Code Online (Sandbox Code Playgroud)

3) 或者对于 Windows 设置环境变量%MAVEN_CMD_LINE_ARGS%,它将在 $M2_HOME/bin/mvn.cmd 中的命令文件 mvn.cmd 中使用:

%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Dmaven.home=%M2_HOME%" "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
Run Code Online (Sandbox Code Playgroud)