使用 Java 库进行声纳多模块扫描



我正在运行以下版本的声纳扫描:

  • 蚂蚁 v3.0.5
  • 声纳 v4.5.4
  • 声纳-蚂蚁任务v2.3

我的 ant 项目包含 100+ 个子模块;其中大约一半有外部库,一半没有

在我的 ant 构建文件中,设置了以下声纳属性:

sonar.projectKey = com.foo:bar
sonar.projectName = foobar
sonar.projectVersion = ${build.version.major}.${build.version.minor}.${build.version.subminor}
sonar.sourceEncoding=UTF-8
sonar.language = java
sonar.sources = src
sonar.java.binaries = build/classes
sonar.java.libraries = build/dependency/*.jar

上述的初始问题是,对于没有外部库的模块,它失败了,因为编译后/build/依赖项中没有 jar。

根据此存档链接: http://sonarqube-archive.15.x6.nabble.com/Analysis-aborts-because-of-quot-No-files-nor-directories-matching-lib-jar-quot-td5035215.html

我应该能够将库属性更改为

sonar.java.libraries = build/dependency/*

但这不适用于我上面列出的应用程序版本组合。仅使用"*"会导致类未找到错误,因此我什至认为它无法正确抓取依赖项 jar 文件。

谁能建议我是否使用了不正确的版本组合,或者这是否已经倒退?

我目前的解决方法:

保留"*.jar"作为默认项目属性,并将单个模块的库属性添加到没有依赖项jar的空文件夹中。

module1.sonar.projectName=module1
module1.sonar.projectBaseDir=modules/module1
module1.sonar.java.libraries=build/dependency
module2.sonar.projectName=module2
module2.sonar.projectBaseDir=modules/module2
module2.sonar.java.libraries=build/dependency
... x 50 more of these

还有更优雅的解决方案吗?

谢谢斯科特

sonar.java.libraries属性由SonarQube Java插件处理。请提供其版本,如果不是最新版本,请尝试更新。

你走在正确的轨道上。Java多模块项目的分析对Maven用户来说很容易。:-(

相关内容

  • 没有找到相关文章

最新更新