我使用哈德森SonarPlugin配置了post build sonarqube分析。我为SonarPlugin配置了MAVEN_OPTS是这样的: “-Xmx1024m -Dmaven.javadoc.failOnError = false”
如果我运行该作业,当hudson尝试执行post build操作时会出错:
[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 = http://xxxx:9000/sonar
错误:无法找到或加载主类MAVEN_OPTS
声纳分析完成:失败
我使用以下设置:
Tomcat 8.0.24
哈德森3.3.0
Sonar-Plugin 2.0.1
Maven 3.0.5 / 3.2.5
JDK 1.7.0_45
在使用Sonar-Plugin 1.8.1的较旧的hudson版本上,构建工作正常。
作为解决方法,我将MAVEN_OPTS路径变量配置为包含预期设置,但由于我必须使用不同的设置配置不同的作业,因此这只是一种解决方法。
有人知道如何解决这个问题吗?
答案 0 :(得分:1)
正如您在Bug 474406中所读到的,这是Hudson 3.3.x的错误。它与Sonar Plugin 2.0.1无关,它与Hudson 3.1.2一起运行良好。
在Hudson post build action中会发生这种情况:
解决方法是为作业添加build parameter,请参阅Bug 474406:
答案 1 :(得分:0)
虽然dur的解决方案工作正常,但它具有“立即构建”链接要求构建参数而不仅仅是构建的缺点。
为了让它在不需要参数化构建的情况下工作,我改变了hudson的$HOME/.mavenrc
以包含以下行:
export MAVEN_OPTS="$(echo ${MAVEN_OPTS} | sed -e 's#^MAVEN_OPTS ##')"
这会从MAVEN_OPTS
变量中删除前导“MAVEN_OPTS”。因此,如果hudson /插件设置为MAVEN_OPTS="MAVEN_OPTS -Xmx128m"
,则此mavenrc会将MAVEN_OPTS更改为仅包含-Xmx128m
。