2012-03-06 29 views
5

Trong khi thực hiện:Gradle + Sonar + Groovy = FAIL?

gradle sonarAnalyze 

cho dự án hấp dẫn, lỗi sau xảy ra: loader hạn chế vi phạm: bộ nạp (Ví dụ của org/codehaus/đám rối/classworlds/lĩnh vực/ClassRealm) trước đây bắt đầu tải cho một loại khác nhau với tên "groovyjarjarantlr/TokenStream"

Làm cách nào để khắc phục sự cố này?

phiên bản sử dụng:

  • gradle-1,0-mốc-8a
  • org.codehaus.groovy: groovy: 1.8.4
  • sonar 2,13

Full stacktrace:

18:22:12.249 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':sonarAnalyze' 
18:22:12.249 [ERROR] [org.gradle.BuildExceptionReporter] 
18:22:12.264 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception. 
18:22:12.264 [ERROR] [org.gradle.BuildExceptionReporter] 
18:22:12.280 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong: 
18:22:12.280 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':sonarAnalyze'. 
18:22:12.296 [ERROR] [org.gradle.BuildExceptionReporter] > loader constraint violation: loader (instance of org/codehaus/plexus/classworlds/ 
realm/ClassRealm) previously initiated loading for a different type with name "groovyjarjarantlr/TokenStream" 
18:22:12.311 [ERROR] [org.gradle.BuildExceptionReporter] 
18:22:12.311 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is: 
18:22:12.311 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sonarAnaly 
ze'. 
18:22:12.327 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execut 
eActions(ExecuteActionsTaskExecuter.java:68) 
18:22:12.327 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execut 
e(ExecuteActionsTaskExecuter.java:46) 
18:22:12.327 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter 
.execute(PostExecutionAnalysisTaskExecuter.java:34) 
18:22:12.342 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter$1.r 
un(CacheLockHandlingTaskExecuter.java:34) 
18:22:12.342 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.cache.internal.DefaultCacheAccess$2.create(DefaultCacheAccess. 
java:200) 
18:22:12.342 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(Default 
CacheAccess.java:172) 
18:22:12.358 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(Default 
CacheAccess.java:198) 
18:22:12.358 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOper 
ation(DefaultPersistentDirectoryStore.java:111) 
18:22:12.358 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAcce 
ss.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83) 
18:22:12.374 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter.exe 
cute(CacheLockHandlingTaskExecuter.java:32) 
18:22:12.374 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(
SkipUpToDateTaskExecuter.java:55) 
18:22:12.374 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(Va 
lidatingTaskExecuter.java:57) 
18:22:12.389 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter. 
execute(SkipEmptySourceFilesTaskExecuter.java:41) 
18:22:12.389 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.exe 
cute(SkipTaskWithNoActionsExecuter.java:51) 
18:22:12.389 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(Sk 
ipOnlyIfTaskExecuter.java:52) 
18:22:12.405 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.exe 
cute(ExecuteAtMostOnceTaskExecuter.java:42) 
18:22:12.405 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(Ab 
stractTask.java:250) 
18:22:12.405 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGrap 
hExecuter.java:192) 
18:22:12.421 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphE 
xecuter.java:177) 
18:22:12.421 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExe 
cuter.java:83) 
18:22:12.421 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExec 
utionAction.java:36) 
18:22:12.436 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.ja 
va:61) 
18:22:12.436 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter 
.java:23) 
18:22:12.436 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter. 
java:67) 
18:22:12.452 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecute 
r$1.run(TaskCacheLockHandlingBuildExecuter.java:31) 
18:22:12.452 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.cache.internal.DefaultCacheAccess$1.create(DefaultCacheAccess. 
java:111) 
18:22:12.467 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess. 
java:126) 
18:22:12.467 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess. 
java:109) 
18:22:12.483 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(Defaul 
tPersistentDirectoryStore.java:103) 
18:22:12.483 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAcce 
ss.useCache(DefaultTaskArtifactStateCacheAccess.java:79) 
18:22:12.483 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecute 
r.execute(TaskCacheLockHandlingBuildExecuter.java:29) 
18:22:12.499 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.ja 
va:61) 
18:22:12.499 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter 
.java:23) 
18:22:12.499 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter. 
java:67) 
18:22:12.499 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecut 
ionAction.java:32) 
18:22:12.514 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.ja 
va:61) 
18:22:12.514 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.ja 
va:54) 
18:22:12.514 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGrad 
leLauncher.java:155) 
18:22:12.530 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLaun 
cher.java:110) 
18:22:12.530 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher 
.java:78) 
18:22:12.530 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:42) 
18:22:12.546 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:28) 
18:22:12.546 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReport 
ingAction.java:32) 
18:22:12.546 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReport 
ingAction.java:21) 
18:22:12.561 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.cli.CommandLineActionFactory$WithLoggingAction.execut 
e(CommandLineActionFactory.java:238) 
18:22:12.561 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.cli.CommandLineActionFactory$WithLoggingAction.execut 
e(CommandLineActionFactory.java:222) 
18:22:12.561 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.Main.doAction(Main.java:48) 
18:22:12.577 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.exec.EntryPoint$1.execute(EntryPoint.java:53) 
18:22:12.577 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.exec.EntryPoint$1.execute(EntryPoint.java:51) 
18:22:12.577 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.exec.Execution.execute(Execution.java:28) 
18:22:12.592 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.exec.EntryPoint.run(EntryPoint.java:39) 
18:22:12.592 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.Main.main(Main.java:39) 
18:22:12.592 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:51) 
18:22:12.608 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:33) 
18:22:12.608 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.launcher.GradleMain.main(GradleMain.java:24) 
18:22:12.608 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of 
org/codehaus/plexus/classworlds/realm/ClassRealm) previously initiated loading for a different type with name "groovyjarjarantlr/TokenStrea 
m" 
18:22:12.624 [ERROR] [org.gradle.BuildExceptionReporter]  at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassR 
ealm.java:386) 
18:22:12.624 [ERROR] [org.gradle.BuildExceptionReporter]  at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(Self 
FirstStrategy.java:42) 
18:22:12.624 [ERROR] [org.gradle.BuildExceptionReporter]  at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.jav 
a:244) 
18:22:12.639 [ERROR] [org.gradle.BuildExceptionReporter]  at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.jav 
a:230) 
18:22:12.639 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.plugins.groovy.foundation.GroovyCpdTokenizer.tokenize(GroovyCpd 
Tokenizer.java:43) 
18:22:12.639 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.duplications.cpd.CPD.add(CPD.java:112) 
18:22:12.655 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.duplications.cpd.CPD.add(CPD.java:91) 
18:22:12.655 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.plugins.cpd.PmdEngine.configureCPD(PmdEngine.java:93) 
18:22:12.655 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.plugins.cpd.PmdEngine.executeCPD(PmdEngine.java:72) 
18:22:12.671 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.plugins.cpd.PmdEngine.analyse(PmdEngine.java:61) 
18:22:12.671 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.plugins.cpd.CpdSensor.analyse(CpdSensor.java:82) 
18:22:12.671 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:64) 
18:22:12.686 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.phases.Phases.execute(Phases.java:93) 
18:22:12.686 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:143) 
18:22:12.686 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.bootstrap.Module.start(Module.java:83) 
18:22:12.702 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:111) 
18:22:12.702 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:101) 
18:22:12.702 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.bootstrap.Module.start(Module.java:83) 
18:22:12.717 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:10 
2) 
18:22:12.717 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.bootstrap.Module.start(Module.java:83) 
18:22:12.717 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.Batch.execute(Batch.java:100) 
18:22:12.733 [ERROR] [org.gradle.BuildExceptionReporter]  at org.sonar.batch.Batch$execute.call(Unknown Source) 
18:22:12.733 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.plugins.sonar.internal.SonarCodeAnalyzer.execute(SonarCode 
Analyzer.groovy:51) 
18:22:12.733 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.plugins.sonar.internal.SonarCodeAnalyzer$execute.call(Unkn 
own Source) 
18:22:12.749 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.plugins.sonar.SonarAnalyze.analyze(SonarAnalyze.groovy:48) 

18:22:12.749 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(B 
eanDynamicObject.java:196) 
18:22:12.749 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject. 
java:102) 
18:22:12.764 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDyna 
micObject.java:93) 
18:22:12.764 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.plugins.sonar.SonarAnalyze_Decorated.invokeMethod(Unknown 
Source) 
18:22:12.764 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23) 
18:22:12.780 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFacto 
ry$4.execute(AnnotationProcessingTaskFactory.java:150) 
18:22:12.780 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFacto 
ry$4.execute(AnnotationProcessingTaskFactory.java:145) 
18:22:12.780 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTa 
sk.java:495) 
18:22:12.796 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTa 
sk.java:484) 
18:22:12.796 [ERROR] [org.gradle.BuildExceptionReporter]  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execut 
eActions(ExecuteActionsTaskExecuter.java:60) 
18:22:12.811 [ERROR] [org.gradle.BuildExceptionReporter]  ... 54 more 
18:22:12.811 [ERROR] [org.gradle.BuildExceptionReporter] 
18:22:12.827 [LIFECYCLE] [org.gradle.BuildResultLogger] 
18:22:12.827 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED 
18:22:12.827 [LIFECYCLE] [org.gradle.BuildResultLogger] 
18:22:12.842 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 1 mins 38.815 secs 

Trả lời

3

Đó là sự không tương thích đã biết giữa Sonar và Gradle. Hiện tại không thể phân tích mã Groovy với Sonar/Gradle. Hy vọng rằng điều này sẽ được giải quyết trong một bản phát hành Sonar/Gradle trong tương lai.

+0

Cảm ơn bạn, Peter. – Milkywayfarer

3

Tôi đã chia hai các sonar-groovy plugin ở đây https://github.com/excentric/sonar-groovy-plugin ngã ba này cho phép sonar để phân tích mã groovy qua gradle

tùy chọn khác của bạn là để crack mở jar sonar-groovy-plugin và thêm thuộc tính sau để biểu hiện:

Plugin-ChildFirstClassLoader: true

bây giờ tôi đã chia hai phiên bản mới nhất 0.6 của các plugin. Có sẵn tại đây: https://github.com/excentric/sonar-groovy

Các vấn đề liên quan