我使用的是sonar 4.5.1,它與JDK 1.7及以上版本兼容。對於Jenkins中JDK1.6上的項目,我想使用JDK1.7執行聲吶分析。爲了在Jenkins下實現這個目標和選項,我使用了-Dsonar.java.source = jdk1.7.0_76,但是在構建過程中似乎沒有選擇jdk1.7.0_76進行聲納分析。 Sonar Analysis仍在使用Jenkins中JDK部分定義的JDK 1.6版本。這會導致構建錯誤:「Java 1.6.0_26不支持插件findbugs」。我不想在後期製作操作中使用聲納,因爲它會拋出一些其他錯誤,所以我只想在maven目標和選項中提供聲納細節。爲什麼不選擇jdk1.7.0_76?我錯過了什麼?有沒有其他方式提供JDK1.7版本?
我的要求:maven分析應該使用jdk 1.6來完成,並且聲吶分析應該使用jdk 1.7和更高版本(聲吶分析步驟在maven目標中提供,並且不使用Sonar-postbuild動作)
在Maven目標下和選項
clean install -Dmaven.test.skip = true -Dsonar.jdbc.url = jdbc:postgresql://sonardb.test.com:5555/sonar -Dsonar.host.url = http://localhost:9000/sonar -Dsonar.java.target = jdk1.8.0_40 -Dsonar.java.source = jdk1.8.0_40 org.codehaus.mojo:聲納-行家-插件:1.0:聲納-Dsonar.branch =測試
請找到的截圖下面
在maven目標和選項中提供JDK版本
回答
您需要使用Java 7或更高版本運行分析。 sonar.java.source
屬性簡單地告訴分析器您的代碼與哪個Java版本兼容。
你可以自由地編譯Java 6中(或更低)的代碼,但掃描器(不管是SonarQube掃描儀,掃描儀SonarQube對Maven等)必須運行與Java 7
看看你的mvn
腳本:
# ----------------------------------------------------------------------------
# Maven2 Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
這種變化是在你的Maven環境的級別進行。在啓動Maven之前,您需要將JAVA_HOME
環境變量設置爲JDK版本1.7的位置。
我想你正在使用execute shell
後生成步驟。如果您使用bash
你只需要前行鍵入JAVA_HOME="path to your JDK 1.7 home"
在詹金斯的工作配置的command
文本區域包含您mvn
命令如下:
之前和之後更新$ JAVA_HOME,請在編輯的問題中添加屏幕截圖。 –
如果您想使用備用jdk運行分析,您必須使用後續步驟! – Kraal
你的意思是說這個參數不起作用:-Dsonar.java.target = jdk1.8.0_40 -Dsonar.java.source = jdk1.8.0_40如果在目標和選項中提供的話? –
儘管這是一個老問題仍然回答爲了其他的好處:
如果你去配置你的作業頁面並點擊Sonar插件的「Advance」按鈕,你將有一個選項可以選擇JDK與下面選擇的應該已經配置的選擇JDK 7相同對於你的詹金斯(爲此你可以去管理詹金斯):
- 1. 在eclipse maven項目中設置jdk版本
- 2. Maven編譯器插件源和目標的jdk版本
- 3. 對JDK版本的Maven項目依賴關係
- 4. 分層maven項目版本
- 5. Maven提供的「提供」範圍內的「可選」依賴項
- 6. 在庫中提供依賴項,使用項目中的以前版本
- 7. Maven項目安裝:無效目標版本:1.7錯誤
- 8. 如何爲maven指定特定的jdk版本來構建我的項目?
- 9. 爲Maven Central創建一個新項目 - 要使用哪個JDK版本?
- 10. Eclipse maven項目JDK構建路徑
- 11. Maven依賴項提供NoSuchMethodError
- 12. Jenkins Maven項目在此環境中沒有提供編譯器
- 13. Maven不應該增加項目版本
- 14. maven - 設置當前項目版本
- 15. 禁用特定項目的maven版本
- 16. Jenkins/Git增量Maven項目版本
- 17. Java Maven項目縮小版本
- 18. Maven項目版本的單一位置
- 19. 在maven和maven插件中選擇依賴版本
- 20. 需要javolution和jdk版本
- 21. Java JDK和JRE版本
- 22. Maven版本標籤
- 23. Eclipse Maven Build Error無效目標版本
- 24. Maven的版本:準備目標
- 25. 添加在POM父項目時,會導致JDK版本改變
- 26. 爲什麼java JDK爲所有操作系統提供選項?
- 27. 以編程方式爲設置/部署項目提供版本
- 28. 在IDEA中的Maven項目中升級Scala版本
- 29. 如何在部署項目中提供修復選項?
- 30. 更新版本的依賴項覆蓋了Maven項目中的舊版本嗎?
我沒有在這裏使用聲納運動員。正如我在郵件中提到的那樣,我確實知道應該使用Java 7或更高版本來完成分析,但是如何提供Maven目標和選項的正確方式(語法)正如我所提到的那樣,在構建期間不會被接受。 –
您可能需要在分析前 –