Can not execute SonarQube analysis: Unable to determine structure of project.

原文链接: https://my.oschina.net/ujjboy/blog/3023154

执行 sonar 的 findbug 功能的时候报错:

mvn clean package -DskipTests=true org.codehaus.mojo:sonar-maven-plugin:2.6:sonar \
-Dsonar.sensor.inclusions=JavaSourceImporter,JavaSquidSensor,CpdSensor,FindbugsSensor,ProfileSensor \
-Dsonar.dynamicAnalysis=reuseReports \
-Dsonar.branch=dev_1.0 \
-Dsonar.host.url=http://xxx:9000/ \
-Dsonar.host.username=xxx \
-Dsonar.host.password=xxx \
-Dsonar.jdbc.url='jdbc:mysql://xxxx:3306/sonar?useUnicode=true&characterEncoding=utf8' \
-Dsonar.jdbc.username=mysql \
-Dsonar.jdbc.password=xx_mysql \
-Dsonar.sourceEncoding=UTF-8

执行的时候报错。

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project xxx-parent: Can not execute SonarQube analysis: Unable to determine structure of project. Probably you use Maven Advanced Reactor Options, which is not supported by SonarQube and should not be used. -> [Help 1]

检查了下最近的变更,发现只有这一个地方变更比较可疑。

 
    org.apache.maven.plugins
    maven-shade-plugin
    2.4.3
    
        
            package
            
                shade
            
            
                
                ${basedir}/target/dependency-reduced-pom.xml
            
        
    

dependencyReducedPomLocation 默认是在工程下面,修改这一行导致的变化是,从原来的目录结构:

parent
  |--all
       |--target
           |--xxx-1.0.jar
           |--xxx-1.0.sources.jar
       |--dependency-reduced-pom.xml

变成了

parent
  |--all
       |--target
           |--xxx-1.0.jar
           |--xxx-1.0.sources.jar
           |--dependency-reduced-pom.xml

从而导致 sonar 去解析目录结构的时候,解析到这个 pom,无法识别报错。

删掉${basedir}/target/dependency-reduced-pom.xml后恢复正常。

转载于:https://my.oschina.net/ujjboy/blog/3023154

你可能感兴趣的:(Can not execute SonarQube analysis: Unable to determine structure of project.)