【问题标题】:sonar findbug missing class exception声纳 findbug 缺少类异常
【发布时间】:2011-05-30 08:44:15
【问题描述】:

当我使用声纳 findbug 进行代码审查时,它会抛出异常,声称缺少某些类。

经过一番研究,很明显构建项目所需的 jars 应该包含在 pom.xml 中以供声纳使用。

为此,声纳官方网站建议,添加依赖项, com.opensymphony xwork-核心 2.1.6 系统 ${basedir}/.../xwork-core.jar

但是,对我来说,它总是不起作用。

我用的是windows,有没有大神赐教,如何配置,尤其是系统路径?

这里是 pom.xml,用于项目的一个模块。

4.0.0数据库项目1项目11.0版本> com.opensymphonyxwork-core2.1.6依赖> depdep11.0系统${basedir}/lib//asn.jar依赖> 依赖> src构建到/类org.apache.maven.pluginsmaven-compiler-plugin1.51.5目标> **/*.*排除> 配置> 插件> 插件> 属性> 项目>

谢谢, 杰基

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    我发现了问题。声纳的官方文档实际上是错误的。 “mvn sonar:sonar” 将调用 maven sonar 插件 2.0 beta,它不会启用库 jar 的依赖关系。相反,调用“mvn sonar3:sonar”,调用最新版本的 maven sonar 插件 2.4.1,可以正常工作。

    【讨论】:

    • 是的,如果你使用的是 Maven 3,你需要调用 sonar3。
    • 你的意思是,如果是maven 2,命令应该是“mvn sonar:sonar”?我认为这个命令会调用 maven-sonar-2.0-beta 插件,它无法使依赖项工作。纠正我,如果我错了。
    【解决方案2】:

    您的项目是否已经是 maven 项目,或者您是否正在使用 ant 或其他工具编译东西,然后试图让声纳对其运行?对于非常复杂的项目,Sonar Light 模式可能会很棘手。如果您有一个多模块项目,我会在声纳的本地副本下获得最简单的项目,然后努力添加更多模块。

    此外,我会尝试将文件本地复制到不从 ${basedir} 升级的不同目录。看看是否有帮助。所以 ${basedir}/lib/xwork-core.jar 类似的东西。

    也许对于声纳分析,您可以有一个单独的任务将所需的库复制到可以适当访问的临时文件夹中,然后在分析完成后将其删除。

    【讨论】:

    • 迈克,感谢您的回复。这里它不是一个 Maven 项目,它是多模块的。我尝试将库 jar 复制到 ${basedir},或者安装到本地 maven 存储库中,但是都失败了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2012-04-13
    • 1970-01-01
    • 2010-10-17
    • 2020-01-05
    • 2021-02-12
    • 1970-01-01
    相关资源
    最近更新 更多