我们试图在Hudson CI中实现静态代码分析器,正如这里所提到的,但是,我遇到了使用声纳实现相同功能的问题。我们执行了以下步骤,但在Hudson作业运行时出错
>
我们在Hudson作业控制台收到以下错误
JAVA木卫一。IOException:无法运行程序“mvn.bat”(在目录“D:\Users\abcd.hudson\jobs\QA Build Local\workspace\view”中):CreateProcess error=2,系统找不到指定的文件
mvn.bat -f "D:\Users\abcd\.hudson\jobs\QA Build Local\workspace\view\msaccess\MyApp\Code\appone\pom.xml" -e -B sonar:sonar -Dsonar.host.url=http://localhost:9000/ -Dsonar.language=java FATAL: command execution failed java.io.IOException: Cannot run program "mvn.bat" (in directory "D:\Users\abcd\.hudson\jobs\QA Build Local\workspace\view"): CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(ProcessBuilder.java:459) at hudson.Proc$LocalProc.(Proc.java:192) at hudson.Proc$LocalProc.(Proc.java:164) at hudson.Launcher$LocalLauncher.launch(Launcher.java:639) at hudson.Launcher$ProcStarter.start(Launcher.java:274) at hudson.Launcher$ProcStarter.join(Launcher.java:281) at hudson.tasks.Maven.perform(Maven.java:263) at hudson.plugins.sonar.utils.SonarMaven.executeMaven(SonarMaven.java:138) at hudson.plugins.sonar.SonarPublisher.executeSonar(SonarPublisher.java:300) at hudson.plugins.sonar.SonarPublisher.perform(SonarPublisher.java:261) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:630) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:608) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:584) at hudson.model.Build$RunnerImpl.post2(Build.java:159) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:553) at hudson.model.Run.run(Run.java:1390) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:145) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(ProcessImpl.java:81) at java.lang.ProcessImpl.start(ProcessImpl.java:30) at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) ... 19 more Sonar analysis completed: FAILURE
我们从命令提示符手动运行maven-sonar命令,声纳分析成功完成,结果公布在声纳网站上。
注意:我们注意到服务器中没有设置M2_HOME环境变量。这会是一个错误吗?
修复更新:
我们在windows PATH环境变量中设置了maven_home\bin文件夹,然后sonar能够识别mvn。击球然后跑。
我已经在Windows中安装了Maven并正确配置了环境变量
FATAL: command execution failed
java.io.IOException: Cannot run program "mvn.bat" (in directory "C:\.jenkins\workspace\my_project"): CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:470)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:803)
at hudson.Launcher$ProcStarter.start(Launcher.java:381)
at hudson.Launcher$ProcStarter.join(Launcher.java:388)
at hudson.tasks.Maven.perform(Maven.java:328)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
at hudson.model.Run.execute(Run.java:1759)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:177)
at java.lang.ProcessImpl.start(ProcessImpl.java:28)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
我重新启动了Tomcat服务,因此它加载了最后配置的Maven环境变量,使Jenkins可以使用这些变量。
我也有同样的经历。在我的例子中,我必须更改maven目录的位置——当它位于“c:\ProgramFiles(x86)\wamp\bin\apache-maven-3.2.1”中时,它无法运行,但当我将其移动到“c:\maven”(并更改了系统变量:“Path”,包括“c:\maven\bin”,并由我创建“maven\u HOME=c:\maven”)。我必须重新启动计算机才能工作-签入windows控制台(windows徽标)-
Sonar是作为一个独立的Maven程序运行的。命令行显示在日志的顶部:
mvn.bat-f"D:\用户\abcd.hudson\作业\QA构建本地\工作空间\视图\msaccess\MyApp\Code\appone\pom.xml"-e-B声纳:声纳-Dsonar.host.url=http://localhost:9000/-D<-java. pdf
这是预期的,您附加了指定此声纳配置的屏幕截图。
您的问题似乎不是作业配置,而是Jenkins找不到“mvn.bat”命令。。。。
JAVA木卫一。IOException:无法运行程序“mvn.bat”(在目录“D:\Users\abcd.hudson\jobs\QA Build Local\workspace\view”中):CreateProcess error=2,系统找不到指定的文件
你需要调查你是如何配置Maven的。
我的Jenkins安装有一个(奇怪的)问题,它基本上导致SVN更新在另一个基础上失败。 堆栈跟踪显示了两个问题: 和 如果我在发生这种情况后重新运行构建,一切都会正常工作。 做记号 由ganders编辑,具有完全相同的问题: 这是导致此错误的机器堆栈跟踪。它看起来就像是在它试图访问SVNExtranals目录(.../主干/公共)时发生的,并且由于某种原因,它在第一次尝试访问时没有凭据。然后下一次
声纳扫描仪在运行扫描仪时抛出空指针异常。错误指向一个枚举。它实现了一个典型的接口。 我记得几个月前运行扫描仪时没有出现任何问题,但这次不同了,感谢您的帮助。 添加了一些乱码,我可以保证没有编译问题。 包括声纳项目属性。#所需元数据sonar.project密钥=com.companysonar.project名称=项目sonar.project版本=1.0
问题内容: 我正在将Hudson设置为使用批处理任务插件来对我们的内部存储库进行Maven发布。我这样做是通过: 我对人们使用的其他方法以及这些方法的优缺点感兴趣。此外,遇到了任何陷阱。 问题答案: 由于某些原因,我倾向于总是手动进行发布。首先,如果您必须回滚,则可以更轻松地返回原始发行位置并执行此操作。其次,因为您需要在该过程中解决所有快照依赖性。 我们的开发过程使我们在以前的版本中将依赖项保留
我正在Jenkins进行一个用sonarqube分析代码的项目。workspace下的项目结构为:/var/lib/jenkins/workspace/myproject-trunk-sonar/myproject/pom.xml,Module1,Module2等 如果pom.xml和模块所在的/var/lib/jenkins/workspace/myproject-trunk-sonar/myp
null 请让我知道如何解决这个问题。谢谢你。
我尝试使用Jenkins上的java项目运行声纳分析,使用标准的maven sonar:sonar goal,并使用post STEP>>Execute SonarQube Scanner。我使用的maven目标是。 对于SonarQube扫描仪,我使用了下面的maven目标 SonarQube版本-7.7声纳扫描仪版本-3.3.0 Jenkins版本-2.164.3 Maven版本-3.6.1