Java 如果在构建作业中设置了MAVEN_选项,Hudson Sonar插件将失败

Java 如果在构建作业中设置了MAVEN_选项,Hudson Sonar插件将失败,java,maven,sonarqube,hudson,hudson-plugins,Java,Maven,Sonarqube,Hudson,Hudson Plugins,我用hudson sonarqube插件配置了一个构建后sonarqube分析。我将Sonar插件的MAVEN_选项配置为: “-Xmx1024m-Dmaven.javadoc.failOnError=false” 如果我运行作业,当hudson尝试执行生成后操作时会出现错误: [workspace]$mvn-f/home/hudson-3.3.0/jobs/myJob/workspace/pom.xml-e-B sonar:sonar-Dsonar.jdbc.driver=oracle.jdb

我用hudson sonarqube插件配置了一个构建后sonarqube分析。我将Sonar插件的MAVEN_选项配置为: “-Xmx1024m-Dmaven.javadoc.failOnError=false”

如果我运行作业,当hudson尝试执行生成后操作时会出现错误:

[workspace]$mvn-f/home/hudson-3.3.0/jobs/myJob/workspace/pom.xml-e-B sonar:sonar-Dsonar.jdbc.driver=oracle.jdbc.OracleDriver-Dsonar.jdbc.url=jdbc:oracle:thin:@xxxxx:1521/xxxx***************-Dsonar.host.url=
错误:无法找到或加载主类MAVEN_选项 声纳分析完成:故障

我使用以下设置:
Tomcat 8.0.24
哈德逊3.3.0
声纳插件2.0.1
Maven 3.0.5/3.2.5
JDK 1.7.0_45

在带有Sonar插件1.8.1的老版本hudson上,构建工作正常

作为解决方法,我将MAVEN_OPTS path变量配置为包含预期的设置,但由于我必须使用不同的设置配置不同的作业,因此这只是一种解决方法

有人知道如何解决这个问题吗?

正如你在书中读到的,这是Hudson 3.3.x的一个bug。它与2.0.1无关,2.0.1与哈德逊3.1.2配合得很好

这发生在哈德逊后期建造行动中:

解决方法是向作业中添加作业,请参见:

虽然dur的解决方案运行良好,但它的缺点是“build now”链接要求提供构建参数,而不仅仅是构建

为了让它在不需要参数化构建的情况下工作,我将hudson的
$HOME/.mavenrc
更改为包含以下行:

export MAVEN_OPTS=“$(echo${MAVEN_OPTS}sed-e的#^MAVEN_OPTS#”)
这将从
MAVEN_OPTS
变量中去掉前导的“MAVEN_OPTS”。因此,如果hudson/插件正在设置
MAVEN_OPTS=“MAVEN_OPTS-Xmx128m”
,这个mavenrc将改变MAVEN_OPTS,使其只包含
-Xmx128m