执行时:
gradle sonarAnalyze
对于groovy项目,发生以下错误:加载器约束违规:加载器(org / codehaus / plexus / classworlds / realm / ClassRealm的实例)之前已启动加载名称为“groovyjarjarantlr / TokenStream”的其他类型
如何解决这个问题?
二手版本:
完整的堆栈跟踪:
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
答案 0 :(得分:3)
这是Sonar和Gradle之间已知的不兼容性。目前,用Sonar / Gradle分析Groovy代码是不可能的。希望这将在未来的Sonar / Gradle版本中得到解决。
答案 1 :(得分:3)
我在这里分叉了sonar-groovy-plugin https://github.com/excentric/sonar-groovy-plugin 这个fork允许声纳通过gradle分析groovy代码
你的其他选择是破解sonar-groovy-plugin jar并将以下属性添加到清单中:
Plugin-ChildFirstClassLoader:true
我现在已经分享了最新的0.6版插件。可在这里: https://github.com/excentric/sonar-groovy