SonarQube - 配置 Java EE 6 项目的声纳-project.properties 以摆脱 WARN - Class 未找到

SonarQube - configuration of sonar-project.properties of a Java EE 6 project to get rid of WARN - Class not found

我正在尝试分析一个巨大的 Java EE 6 项目。由于给定的规则集包含一些较旧的规则,我们目前绑定到带有一些特殊插件的 Sonarqube 4.5.6(分析使用 Sonar Scanner 2.5.1 运行)。

项目的分析没有失败就完成了,但是日志中有很多关于类的警告没有找到像

WARN  - Class not found: javax.servlet.http.HttpServletRequest

还报告了来自其他插件的类似警告。所以我环顾四周,找到了一个解决方法,将 Java EE 6 .jars 的路径添加到 sonar-project.properties 文件中的 sonar.java.libraries 配置。现在,我摆脱了警告(除了 org.apache.commons.ioorg.apache.commons.fileupload 中的少数 类 - 无论相应的 .jar 可能在哪里)。

这将在我的本地机器上运行,但是 real 声纳服务器在其他地方,那里没有 Java EE 6。所以,我想到了将相关的 .jars 复制到那里的某个目录中,并在 sonar.java.libraries.

中引用该目录

我的问题:如何找出声纳分析实际使用了哪些 .jars?我不想复制数千个文件,而实际上可能只需要十个。

是否有一些隐藏的日志文件是由 sonarqube 或类似的东西写的?还有其他想法吗?

警告来自 java 分析器,告诉您无法找到某些 .class 文件。您描述的解决方法是从分析中获得更精确结果的正确解决方案。

您的问题是:在哪里可以找到与 classes 警告为丢失的 jar 对应的 jar?

SonarQube java 分析器无法告诉您(因为如果可以的话,它会尝试找到 classes)。我建议您在 http://www.findjar.com/ 中查找一些 class 名称并查看需要哪些依赖项 jar 并少量添加它们。