java – SonarQube规则不应使用“com.sun.*”和“sun.*”包中的
我有一个具有以下特征的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”的类.和“太阳”.不应该使用包裹 因为我正在使用类com.sun.faces.application.ApplicationAssociate和com.sun.faces.application.ApplicationResourceBundle. 我已经找到了另一个关于此的线索,他们中的大多数人说我应该更改规则以排除特定的包或类. 我认为简单地规避规则是没有意义的,所以我想知道是否有针对这些sun类的实际java API(1.7或1.8)类. 如果没有,我相信最好保持警报,直到Java API类可用于这些sun类. 有关此的任何提示/建议吗? 解决方法
这是SonarQube中的一个错误.太过于推广太阳.*包在
Why Developers Should Not Write Programs That Call ‘sun’ Packages中提到com.sun.*包.这是不正确的.甲骨文并不是故意在一篇文章中说的. SonarQube实际上应该只惩罚sun.*包或任意JRE / JDK实现内部使用的任何内容. com.sun.*包根本不与JRE / JDK API / impl相关.
要么关闭S1191规则,要么将com.sun.*上的所有命中都标记为误报. 也可以看看: > What is inside com.sun package? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |