簡體   English   中英

不應使用來自“com.sun.*”和“sun.*”包的 SonarQube 規則類

[英]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.ApplicationAssociatecom.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM