![](/img/trans.png)
[英]Classes from “com.sun.*” and “sun.*” packages should not be used Sonar issue for Jersey client
[英]SonarQube rule Classes from “com.sun.*” and “sun.*” packages should not be used
我有一個具有以下特征的 J2EE 項目:
CDI 1.0
Dynamic Web Module 3.0
Java 1.7 (it's being changed to 1.8)
JSF 2.0
JPA 2.0
我正在針對它運行 SonarQube 5.6.6 規則,並且感覺符合規則
因為我正在使用com.sun.faces.application.ApplicationAssociate和com.sun.faces.application.ApplicationResourceBundle類。
我已經搜索了關於此的另一個線程,其中大多數人說我應該更改規則以排除特定的包或類。
我認為簡單地規避規則沒有意義,所以我想知道這些 sun 類是否有實際的 java API(1.7 或 1.8)類。
如果沒有,我認為最好保持警報,直到 Java API 類可用於這些 sun 類。
對此有何提示/建議?
這是 SonarQube 中的一個錯誤。 正如 為什么開發人員不應編寫將“sun”包調用到com.sun.*
包的程序中提到的那樣,它過度概括了sun.*
com.sun.*
包。 這是不正確的。 Oracle 在上面鏈接的文章中並不是故意這么說的。 SonarQube 實際上應該只懲罰使用sun.*
包或任意 JRE/JDK 實現內部使用的任何東西。 com.sun.*
包根本與 JRE/JDK API/impl 無關。
要么關閉 S1191 規則,要么將com.sun.*
上的所有命中標記為誤報。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.