gpt4 book ai didi

java - 为什么 Sonar 设计 View 没有显示我的项目的任何依赖项?

转载 作者:行者123 更新时间:2023-11-30 11:54:00 24 4
gpt4 key购买 nike

我已经针对使用 Ant 构建的大型 Java 项目成功设置了 Sonar。我终于连接了 JUnit 测试结果和 Cobertura 代码覆盖率报告。

我现在在设计 View 中看到了所有包,但是没有任何包或类之间的依赖项值(请参见下面的示例)。

No dependencies

有人知道我错过了什么吗?

更新

查看 Sonar Ant 任务的输出,我还注意到,对于一个相当大且复杂的项目,包设计任务完成得非常快。来自 Ant 输出:

[sonar:sonar] [INFO]  Package design analysis...
[sonar:sonar] [INFO] Package design analysis done: 66 ms

Ant任务如下:

<target name="sonar" depends="collate-xml-reports">
<sonar:sonar workDir="src/build/sonarTemp" key="myProjectKeyWhichHasBeenChangedToHideMyClient" version="1.0" xmlns:sonar="antlib:org.sonar.ant">

<!-- source directories (required) -->
<sources>
<path location="src/common/src" />
<path location="src/commonWidgets/src" />
<path location="src/compositionWidget/src" />
<path location="src/nativeLib/src" />
<path location="src/services/src" />
</sources>

<!-- list of properties (optional) -->
<property key="sonar.projectName" value="RPS Nightly" />
<property key="sonar.dynamicAnalysis" value="reuseReports" />
<property key="sonar.surefire.reportsPath" value="src/reports/junit" />
<property key="sonar.cobertura.reportPath" value="src/reports/cobertura/coverage.xml" />

<!-- test source directories (optional) -->
<tests>
<path location="src/common/test" />
<path location="src/commonWidgets/test" />
<path location="src/compositionWidget/test" />
<path location="src/services/test" />
</tests>

<!-- binaries directories, which contain for example the compiled Java bytecode (optional) -->
<binaries>
<path location="src/common/build" />
<path location="src/commonWidgets/build" />
<path location="src/compositionWidget/build" />
<path location="src/services/build" />
</binaries>

<!-- path to libraries (optional). These libraries are for example used by the Java Findbugs plugin -->
<libraries>
<path location="src/common/lib/**/" />
<path location="src/commonWidgets/lib/**/" />
<path location="src/compositionWidget/lib/**/" />
<path location="src/services/lib/" />
</libraries>
</sonar:sonar>
</target>

最佳答案

作为一个 Java 新手,事实证明这是我的一个误会。二进制目录位置需要指向已编译 Java 字节码的根文件夹,但我将其指向 jar 文件位置。在这种情况下,字节码被写入 build/classes 文件夹,所以我需要修改我的 ant 目标(如问题所示):

    <binaries>
<path location="src/common/build" />
<path location="src/commonWidgets/build" />
<path location="src/compositionWidget/build" />
<path location="src/services/build" />
</binaries>

收件人:

    <binaries>
<path location="src/common/build/classes" />
<path location="src/commonWidgets/build/classes" />
<path location="src/compositionWidget/build/classes" />
<path location="src/services/build/classes" />
</binaries>

这解决了问题,现在已正确填充设计 View 。

关于java - 为什么 Sonar 设计 View 没有显示我的项目的任何依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5952989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com