sonar-maven-plugin 的行為在maven-compiler-plugin定義/未定義時會有所不同。我花了一些時間來找出合適的設定。
創建一個簡單的 Java maven 專案并保持pom.xml簡單。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>testing</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.release>17</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
執行
mvn org.sonarsource.scanner.maven:sonar-maven-plugin:<version>:sonar -Dsonar.login=<token>
情況1:
sonarqube-maven-plugin版本:3.7.0.1746pom.xml與maven.compiler.release定義。maven-compiler-plugin未在中定義pom.xml
結果:
Configured Java source version (sonar.java.source): 5
案例二:
sonarqube-maven-plugin版本:3.7.0.1746pom.xmlmaven.compiler.release定義_pom.xmlmaven.compiler.source定義_maven-compiler-plugin未在中定義pom.xml
結果:
(這意味著插件只能從而source不是獲取版本release)
Configured Java source version (sonar.java.source): 17
案例三:
sonarqube-maven-plugin版本:3.7.0.1746pom.xmlmaven.compiler.release定義_maven-compiler-plugin(3.8.1) 被定義
結果:
(不知道為什么在定義 maven 編譯器插件時版本會發生變化。)
Configured Java source version (sonar.java.source): 6
案例四:
sonarqube-maven-plugin版本:3.7.0.1746pom.xmlmaven.compiler.release定義_maven-compiler-plugin(3.10.1) 被定義
結果:
(不知道為什么定義不同版本的 maven 編譯器插件時版本會發生變化。)
Configured Java source version (sonar.java.source): 7
案例五:
sonarqube-maven-plugin版本:3.9.1.2184pom.xmlmaven.compiler.release定義_maven-compiler-plugin未在中定義pom.xml
結果:
(升級 sonar maven 插件沒有幫助。)
Configured Java source version (sonar.java.source): 5
uj5u.com熱心網友回復:
正確設定
sonarqube-maven-plugin版本3.8.0或以上。maven-compiler-plugin在pom.xml版本3.6.0或更高版本中定義。
執行:
mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar -Dsonar.login=<token>
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>testing</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.release>17</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
</plugin>
</plugins>
</build>
</project>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/537004.html
