我的pom.xml包含:
...
<properties>
<sonar.branch>${git.branch}</sonar.branch>
</properties>
...
$ {git.branch}被解析为“master”,但声纳的构建失败:
“”$ {git.branch}“不是有效的分支名称。允许的字符是 字母数字,' - ','_','。'和'/'。“
SonarQube server 5.1.2
sonar-maven-plugin 2.7.1
编辑:
我的pom.xml:
...
<plugin>
<groupId>ru.concerteza.buildnumber</groupId>
<artifactId>maven-jgit-buildnumber-plugin</artifactId>
<executions>
<execution>
<id>make-buildnumber</id>
<phase>prepare-package</phase>
<goals>
<goal>extract-buildnumber</goal>
</goals>
</execution>
</executions>
</plugin>
...
<profile>
<id>sonar-analyze</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<executions>
<execution>
<id>sonar-analyze</id>
<phase>install</phase>
<goals>
<goal>sonar</goal>
</goals>
<configuration>
<sonar.language>java</sonar.language>
<sonar.branch>${git.branch}</sonar.branch>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
...
运行命令:
mvn clean install -Dsonar-analyze
通过这种方法我遇到了另一个问题,声纳多次启动分析多模块项目中的所有模块。 最后从pom.xml中删除了这段代码 并将声纳分支作为参数传递:
clean install sonar:sonar -Dsonar.branch=${GIT_BRANCH}