2015-07-21 117 views
1

首先,我知道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 

不用说,我查了多种不同的路径(事件替换它们他们的绝对副本或通过列出每个罐子的二进制文件),但我无法做出分析。

关于可能出错的任何想法?

回答

4

您的项目结构看起来像旧的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/** 
+0

我会检查这个配置,谢谢!你会有更多关于声呐结论的信息吗? – fxm

+0

我复制并粘贴了错误的库路径,现在我修复了它。但是,如果您仍然收到错误,那么您在'dependencies'文件夹中缺少依赖项 –