Sonar+IDEA + Maven的集成


理由:因新搭建了一個項目,完成之后需要檢測代碼進行評優。

過程:

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

2、參考鏈接:

>>> https://blog.csdn.net/weixin_40861707/article/details/82117232  >>>https://blog.csdn.net/wojiushiwo945you/article/details/100699885https://blog.csdn.net/wojiushiwo945you/article/details/100699885

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

3、配置過程:

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文件

<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文件

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

  

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

5、自己碰到的問題:

<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.7、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了。

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM