WARN - 不能通过ClassLoader访问'XXX/XXX/XXX'类
问题描述:
首先,我知道this question。由于我既不使用Maven也不使用jenkins,所以我无法使用提供的解决方案。WARN - 不能通过ClassLoader访问'XXX/XXX/XXX'类
当有声纳亚军分析我的项目,我得到以下警告:
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
不用说,我查了多种不同的路径(事件替换它们他们的绝对副本或通过列出每个罐子的二进制文件),但我无法做出分析。
关于可能出错的任何想法?
答
您的项目结构看起来像旧的Eclipse/WSAD结构,您在根上有源代码,在编译过的类中有“bin /”文件夹。您的应用程序的代码看起来像它与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/**
我会检查这个配置,谢谢!你会有更多关于声呐结论的信息吗? – fxm
我复制并粘贴了错误的库路径,现在我修复了它。但是,如果您仍然收到错误,那么您在'dependencies'文件夹中缺少依赖项 –