建議使用此分析器啓動Java Maven項目的分析。html
Maven版本java |
2.Xreact |
3.Xgit |
---|---|---|
兼容性 |
從maven-sonar-plugin 3.4.0.905開始,再也不支持SonarQube <5.6。github
若是使用5.6以前的SonarQube實例,則應該使用maven-sonar-plugin 3.3.0.603。apache
從maven-sonar-plugin 3.1開始,再也不支持Maven <3.0。安全
若是在3.0以前使用Maven,你應該使用maven-sonar-plugin 3.0.2。服務器
編輯位於$ MAVEN_HOME / conf或〜/ .m2中的 settings.xml文件,以設置插件前綴和可選的SonarQube服務器URL。maven
例:單元測試
<settings> <pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url> http://myserver:9000 </sonar.host.url> </properties> </profile> </profiles> </settings>
分析Maven項目包括運行Maven目標:sonar:sonar
在pom.xml文件所在的目錄中。
mvn clean verify sonar:sonar # In some situation you may want to run sonar:sonar goal as a dedicated step. Be sure to use install as first step for multi-module projects mvn clean install mvn sonar:sonar # Specify the version of sonar-maven-plugin instead of using the latest. See also 'How to Fix Version of Maven Plugin' below. mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar
要得到覆蓋信息,您須要在分析以前生成覆蓋率報告。有關更多信息,請參閱 Java項目的單元測試代碼覆蓋率。
分析參數列在分析參數頁面上。你必須像這樣在你的pom.xml的<properties>部分配置它們:
<properties> <sonar.exclusions> [...] </sonar.exclusions> </properties>
任何被授予執行分析 權限的用戶都 能夠運行分析。
若是「 任何人」 組未得到「 執行分析」 權限,或者SonarQube實例受到保護(該 sonar.forceAuthentication
屬性設置爲 true)
,則 必須經過該 屬性提供具備「 執行分析」權限 的用戶的分析標記 sonar.login
。 sonar-scanner -Dsonar.login=[my analysis token]
你能夠:
在要排除的模塊的pom.xml中定義屬性<sonar.skip> true </sonar.skip>
爲了幫助您開始,您能夠在這裏找到一個簡單的項目示例:https : //github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven
建議 鎖定Maven插件的版本:
<build> <pluginManagement> <plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.4.0.905</version> </plugin> </plugins> </pluginManagement> </build>
若是你獲得一個java.lang.OutOfMemoryError,你能夠在* nix環境中設置MAVEN_OPTS環境變量:
|
在Windows環境中,避免使用雙引號,由於它們會被誤解。
|