美文网首页我爱编程
Can not execute SonarQube analys

Can not execute SonarQube analys

作者: 章耿 | 来源:发表于2018-04-16 20:32 被阅读0次

    执行 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]
    

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

     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.4.3</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>shade</goal>
                </goals>
                <configuration>
                    <!-- 加了这一行 -->
                    <dependencyReducedPomLocation>${basedir}/target/dependency-reduced-pom.xml</dependencyReducedPomLocation>
                </configuration>
            </execution>
        </executions>
    </plugin>
    

    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,无法识别报错。

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

    相关文章

      网友评论

        本文标题:Can not execute SonarQube analys

        本文链接:https://www.haomeiwen.com/subject/qjxykftx.html