WARN - 类 'XXX / XXX / XXX' 是无法通过的ClassLoa

2019-10-24 01:40发布

首先,我所知道的这个问题 。 因为我既不使用maven或詹金斯,我不能使用所提供的解决方案。

当有声纳亚军分析我的项目,我得到以下警告:

Class 'XXX/XXX/XXX' is not accessible through the ClassLoader

每个班级我的项目。 我也得到来自jacoco覆盖插件以下警告:

No JaCoCo analysis of project coverage can be done since there is no class files.

我的声纳亚军性质定义如下:

sonar.sources=com // sources are analysed
sonar.tests=Tests/JUnit/com // works, since wrong location results in an error
sonar.binaries=bin/com // no presence in logs
sonar.java.libraries=dependencies/*.jar // no presence in logs. 
sonar.junit.reportsPath=rapports/junit // results are displayed
sonar.java.coveragePlugin=jacoco
sonar.jacoco.reportPath=rapports/jacoco/coverage.exec // not logged

不用说,我查了多种不同的路径(事件通过其绝对同行或上市双星每个罐子代替它们),但我无法做出分析。

什么任何想法可能会错呢?

Answer 1:

您的项目结构看起来像,你必须在根和“斌/”文件夹中的已编译的类源旧的Eclipse / WSAD结构。 您的应用程序的代码看起来它有一个开头包定义com.

所以我假设这是你的结构:

project root
+-- * = source files
+-- bin/* = compiled files
+-- Tests/JUnit/* = test source files
+-- dependencies/*.jar = extra JAR files
+-- rapports/junit/* = JUnit test results
+-- rapports/jacoco/coverage.exec = Jacoco results

你的配置应该是:

sonar.sources=.
sonar.tests=Tests/JUnit
sonar.jacoco.reportPath=rapports/jacoco/coverage.exec
sonar.junit.reportsPath=rapports/junit
sonar.java.binaries=bin
sonar.java.libraries=dependencies/*.jar
sonar.inclusions=com/**

sonar.inclusions应该有一个更完整路径如

sonar.inclusions=com/trajano/project/**


文章来源: WARN - Class 'XXX/XXX/XXX ' is not accessible through the ClassLoader