2015-07-21 118 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'文件夾中缺少依賴項 –