如何使Maven插件与SonarScanner配合使用?

时间:2018-07-27 01:55:32

标签: maven sonarqube

如何使Maven插件与SonarScanner一起使用?

我正在RHEL 7.5上运行以下命令:

纱线版本​​:Hadoop 3.1.0

mvn --version:Apache Maven 3.5.3

SonarQube 7.1

节点-v:v9.5.0

npm -v:5.6.0

我使用pom.xml文件转到此目录:/opt/sonarqube/web/META-INF/maven/org.sonarsource.sonarqube/sonar-web

我运行以下命令:

sudo /usr/local/apache-maven/bin/mvn -X clean verify

我希望构建能够成功并成功。但是我得到这个错误:

  

[INFO]在以下位置运行“ yarn run build”   /opt/sonarqube/web/META-INF/maven/org.sonarsource.sonarqube/sonar-web   [DEBUG]执行命令行   [/opt/sonarqube/web/META-INF/maven/org.sonarsource.sonarqube/sonar-web/node/yarn/dist/bin/yarn,   运行,构建] [INFO]纱线运行v1.1.0 [ERROR]错误找不到   package.json文件位于   “ /opt/sonarqube/web/META-INF/maven/org.sonarsource.sonarqube/sonar-web”   [INFO] info访问https://yarnpkg.com/en/docs/cli/run   有关此命令的文档。 [信息]   -------------------------------------------------- ---------------------- [INFO]内置失败[INFO]   -------------------------------------------------- ---------------------- [INFO]总时间:12.336 s [INFO]完成于:2018-07-27T01:43:17Z   [信息]   -------------------------------------------------- ---------------------- [ERROR]无法执行目标   com.github.eirslett:frontend-maven-plugin:1.6:yarn(纱线运行脚本)   在sonar-web项目上:无法运行任务:'yarn run build'失败。   org.apache.commons.exec.ExecuteException:进程退出并显示   错误:1(退出值:1)-> [帮助1]   org.apache.maven.lifecycle.LifecycleExecutionException:失败   执行目标com.github.eirslett:frontend-maven-plugin:1.6:yarn(yarn   在项目sonar-web上运行脚本):无法运行任务       在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)       在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)       在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)       在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject中   (LifecycleModuleBuilder.java:117)       在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject中   (LifecycleModuleBuilder.java:81)       在org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build   (SingleThreadedBuilder.java:56)       在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)       在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)       在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)       在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)       在org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)       在org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290)

我修改了Maven的settings.xml文件。我如何让Maven与SonarQube合作?

1 个答案:

答案 0 :(得分:1)

应从项目根目录执行分析,而不能从其他任何地方进行分析。您似乎是从...在扩展插件文件目录中执行它的?

此外,实际运行分析的命令是:

 mvn sonar:sonar

当然,应该将其与构建结合使用,因此通常用作:

mvn clean build sonar:sonar