我的设置:
错误示例:
16:00:54 [INFO] [23:00:54.219] Sensor JavaSquidSensor
16:00:55 [INFO] [23:00:55.030] Java Main Files AST scan...
16:00:55 [INFO] [23:00:55.030] 1532 source files to be analyzed
16:00:58 [ERROR] [23:00:57.927] Class not found: javax.annotation.Nullable
16:00:58 [ERROR] [23:00:57.928] Class not found: javax.annotation.CheckReturnValue
16:00:58 [ERROR] [23:00:58.114] Class not found: javax.annotation.Nullable
根据这个 stackoverflow question,javax.annotation 应该是 java 1.7 及更高版本的一部分.此外,我尝试将它放在本地 maven 存储库中,但这没有帮助.
According to this stackoverflow question, javax.annotation should be part of java 1.7 and up. Furthermore, I've tried putting it in the local maven repository but that didnt help.
Sonar 在哪里试图找到这个包?有什么帮助吗?!?
So where is Sonar trying to find this package? Any help?!?
更新:
根据http://docs.oracle.com/javase/7/docs/api/index.html?javax/annotation/package-summary.html 您期望的类不属于JDK 7.
According to http://docs.oracle.com/javase/7/docs/api/index.html?javax/annotation/package-summary.html the classes you expect are not part of JDK 7.
您要查找的类是此处启动的 google JSR-305 实现的一部分 https://code.google.com/p/jsr-305/source/browse/trunk/ri/src/main/java/javax/annotation/Nullable.java?r=24 并移至 Findbugs:
The classes you're looking for are part of google JSR-305 implementation that was initiated here https://code.google.com/p/jsr-305/source/browse/trunk/ri/src/main/java/javax/annotation/Nullable.java?r=24 and which moved to Findbugs:
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.0</version>
</dependency>
根据https://jcp.org/en/jsr/detail?id=305JSR-305 已完成,但处于休眠状态,尚未添加到 JDK 版本中.
According to https://jcp.org/en/jsr/detail?id=305 the JSR-305 is finished, but is in dormant status and has not been added to a JDK release yet.
希望对你有帮助.
这篇关于SonarQube“找不到类"在主 AST 扫描期间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!