繁体   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