Sonar+IDEA + Maven的集成

理由:因新搭建了一個項目,完成以後須要檢測代碼進行評優。html

過程:java

一、環境配置: IDEA 2019 + Maven3.3.9 + sonarqube7.7 + JDK1.8 + MySQL5.7mysql

二、參考連接:sql

>>> http://www.javashuo.com/article/p-nvjbixmw-b.html  >>>https://blog.csdn.net/wojiushiwo945you/article/details/100699885https://blog.csdn.net/wojiushiwo945you/article/details/100699885數據庫

兩個結合一塊兒查看,信息已經很全了。apache

三、配置過程:maven

sonar.propertis文件編輯器

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.jdbc.username=root sonar.jdbc.password=root sonar.sorceEncoding=UTF-8

 

maven setting.xml文件ide

<profile>
        <id>sonar</id>
            <properties>
            <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar</sonar.jdbc.url>
            <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
            <sonar.jdbc.username>root</sonar.jdbc.username>
            <sonar.jdbc.password>root</sonar.jdbc.password>
            <sonar.host.url>http://localhost:9000</sonar.host.url>
        </properties>
    </profile>

<activeProfiles> 
  <activeProfile>sonar</activeProfile> 

</activeProfiles>
View Code

 

IDEA 項目 pom.xml文件svn

<plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.1.1</version>
            </plugin>

  

四、運行命令:mvn clean install -X -Dmaven.test.skip sonar:sonar (-X可查看運行日誌)

五、本身碰到的問題:

<1> sonarQube服務端安裝成功後,啓動過程當中自動退出,並報錯

緣由:sonarQube對數據庫和JDK不一樣版本的兼容性,5.6 <= MySQL版本 < 8, SQLServer > 2012

可參考https://www.cnblogs.com/xingyunblog/p/9947854.html

<1>[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar (default-cli) on project practise: Unable to execute SonarQube:  

Caused by: java.lang.UnsupportedClassVersionError: org/sonarsource/scanner/maven/SonarQubeMojo : Unsupported major.minor version 52.0

緣由:sonar插件版本不對。

正確:

<plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.1.1</version>
</plugin>

錯誤:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>3.7.1</version>
</plugin>

 

<2> maven編譯報錯

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project report: F
atal error compiling: 無效的標記: -parameters -> [Help 1]

 

緣由:是maven運行編譯時使用的JDK版本不同致使的,這個時候須要排查一下你編輯器中項目所配置的JDK版本是什麼,配置成同樣的就能夠了。

 

另外問題:我本身的本地有兩個JDK1.七、JDK1.8,項目配置的是JDK1.8,在IDEA Terminal下運行命令,一直再報編譯錯誤,網上查詢全部的都是版本不兼容致使的,

本身檢查了全部的JDK配置:

  • 編輯器中項目指定的運行、編譯JDK都更改成1.8
  • 電腦環境配置也是JDK1.8
  • maven配置文件setting.xml配置爲1.8

IDEA中執行命令一直使用JDK1.7,在CMD DOS命令窗口執行則顯示JDK1.8,很奇怪,尚未發現問題,索性先使用DOS執行命令。

 

<3> org.tmatesoft.svn.core.SVNException: svn: E175002:

緣由: SVN沒有鏈接上。

由於咱們項目開發時內外網分離,且使用的時SVN管理,因此切換到內網上就能夠鏈接上SVN,再執行一次命令就OK了。

 

#手是好漢,眼是懶蛋,記錄隨筆,願有幫助#

相關文章
相關標籤/搜索