我正在使用声纳4.5.1,它与JDK 1.7及以上版本兼容。对于Jenkins的JDK1.6项目,我想使用JDK1.7进行声纳分析。为了在Jenkins下实现这一目标,在maven目标和选项中,我使用的是-Dsonar.java.source = jdk1.7.0_76但是在构建过程中似乎没有选择jdk1.7.0_76用于声纳分析。 Sonar Analysis仍在使用JDK 1.6版本完成,该版本在Jenkins的JDK部分中定义。这导致构建错误:“Java 1.6.0_26不支持插件findbugs”。我不想在后期构建操作中使用声纳,因为它会抛出一些其他错误,因此我只想在maven目标和选项中提供声纳细节。为什么没有选择jdk1.7.0_76?我错过了什么?有没有其他方式提供JDK1.7版本?
(编辑)
我的要求:maven分析应该使用jdk 1.6进行,声纳分析应该用jdk 1.7及以上进行(声纳分析步骤在maven目标中提供,没有声纳 - 使用postbuild动作)在Maven目标和选项下清理安装-Dmaven.test.skip = true -Dsonar.jdbc.url = jdbc:postgresql://sonardb.test.com:5555 / sonar -Dsonar.host.url = http://localhost:9000/sonar -Dsonar.java.target = jdk1.8.0_40 -Dsonar.java.source = jdk1.8.0_40 org.codehaus.mojo:sonar-maven-plugin:1.0:sonar - Dsonar.branch =测试
请在下面找到截图
答案 0 :(得分:1)
查看您的mvn
脚本:
# ----------------------------------------------------------------------------
# Maven2 Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
此更改在Maven环境级别完成。在启动Maven之前,您需要将JAVA_HOME
环境变量设置为JDK版本1.7的位置。
我猜您正在使用execute shell
构建后步骤。如果您使用的是bash
,则只需在Jenkins的作业配置的JAVA_HOME="path to your JDK 1.7 home"
文本区域中包含mvn
命令的行之前键入command
,如下所示: / p>
答案 1 :(得分:0)
您需要使用Java 7或更高版本运行分析。 sonar.java.source
属性只是告诉分析器您的代码与哪个Java版本兼容。
您可以自由地使用Java 6(或更低版本)编译代码,但扫描仪(无论是SonarQube扫描仪,SonarQube Scanner for Maven,......)必须运行使用Java 7。
答案 2 :(得分:0)
虽然这是一个老问题,仍在回答其他方面的好处:
如果你去配置你的工作页面并点击" Advance"对于Sonar插件的按钮,你可以选择选择JDK,就像下面选择的那样选择JDK 7,它应该已经为你的Jenkins配置了(为此你可以去Manage Jenkins):