问题
我刚刚安装了Sonar Jenkins插件。我进入了配置的作业(自由样式作业),该作业通过ANT构建生成WAR文件工件,并且执行以下操作:
选中声纳复选框。(这里没有问题)
配置声纳的安装目录(这里没有问题)
选中以下复选框: “检查该项目是否不是用maven 2构建的” (我在这里感到困惑)
我已经选中了该框,因为我没有使用Maven进行构建,而是使用ANT,但它仍要求我提供类似于MVN的必需属性,例如:组织ID,项目ID,项目名称,项目版本,源目录。等
因此,我也填写了这些内容。当我单击播放按钮“立即构建”时,该构建似乎可以正常运行,就像在声纳安装之前一样,但是最终由于尝试执行MAVEN而最终失败。
如下所示:
$ mvn -f /root/.jenkins/jobs/HRDA/workspace/pom.xml -e -B声纳:声纳致命:命令执行失败java.io.IOException:无法运行程序“ mvn”(在目录“ / root / .jenkins / jobs / HRDA / workspace“):java.io.IOException:错误= 2,没有这样的文件或目录
如果我未选中 不 使用Maven 2 的复选框,则Sonar为什么要尝试执行Maven ?
如果我的应用程序是使用ANT,GANT,GRADLE构建的,我可以使用此Sonar插件吗?
我必须重新转换我的应用程序才能使用MVN构建吗?
谢谢
就像Oers在我的问题注释中建议的那样,如果您将ANT用作CI服务器中的构建脚本(在我的情况下为詹金斯),则必须使用SONAR-ANT- TASK生成Sonar报告,操作如下:
希望这会有所帮助,-Dario