I tried adding the following
@Grapes([
@Grab(group = 'postgresql', module = 'postgresql', version =
'8.4-701.jdbc4'),
@GrabConfig(systemClassLoader=true)
])
import org.postgresql.Driver
but to got the following output which I cannot really decipher:
> 09:36:55-tk@tk:~/workspace/b-one-crm/b-one-crm> gradle -s deployDb
>
> FAILURE: Build failed with an exception.
>
> * Where:
> Build file '/home/tk/workspace/b-one-crm/b-one-crm/build.gradle'
>
> * What went wrong:
> Could not compile build file
> '/home/tk/workspace/b-one-crm/b-one-crm/build.gradle'.
> Cause: startup failed:
> General error during conversion: No suitable ClassLoader found for grab
>
> java.lang.RuntimeException: No suitable ClassLoader found for grab
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at
> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
> at
> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:107)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:192)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:200)
> at groovy.grape.GrapeIvy.chooseClassLoader(GrapeIvy.groovy:163)
> at groovy.grape.GrapeIvy$chooseClassLoader.callCurrent(Unknown Source)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
> at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:227)
> at groovy.grape.Grape.grab(Grape.java:143)
> at
> groovy.grape.GrabAnnotationTransformation.visit(GrabAnnotationTransformation.java:260)
> at
> org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransformationVisitor.java:302)
> at
> org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:813)
> at
> org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:511)
> at
> org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:487)
> at
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:464)
> at
> groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:297)
> at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:279)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:108)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileToDir(DefaultScriptCompilationHandler.java:57)
> at
> org.gradle.groovy.scripts.CachingScriptCompilationHandler.compileToDir(CachingScriptCompilationHandler.java:33)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.loadViaCache(DefaultScriptCompilerFactory.java:90)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.compile(DefaultScriptCompilerFactory.java:69)
> at
> org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:114)
> at
> org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProcessor.java:38)
> at
> org.gradle.configuration.DefaultProjectEvaluator.evaluate(DefaultProjectEvaluator.java:38)
> at
> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:491)
> at
> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:69)
> at
> org.gradle.api.internal.project.ProjectInternal$evaluate.call(Unknown Source)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
> at
> org.gradle.configuration.BuildConfigurer$_closure1.doCall(BuildConfigurer.groovy:41)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
> at
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
> at groovy.lang.Closure.call(Closure.java:276)
> at
> org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:51)
> at
> org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:79)
> at $Proxy6.execute(Unknown Source)
> at
> org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:467)
> at
> org.gradle.api.internal.project.AbstractProject.allprojects(AbstractProject.java:462)
> at org.gradle.api.Project$allprojects.call(Unknown Source)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
> at
> org.gradle.configuration.BuildConfigurer.process(BuildConfigurer.groovy:48)
> at
> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:136)
> at
> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:107)
> at
> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:75)
> at org.gradle.launcher.Main.execute(Main.java:93)
> at org.gradle.launcher.Main.main(Main.java:42)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.gradle.launcher.GradleMain.main(GradleMain.java:49)
>
> 1 error
>
> * Try:
> Run with -S option to get the full (very verbose) stacktrace.
>
> * Exception is:
> org.gradle.api.LocationAwareScriptCompilationException: Build file
> '/home/tk/workspace/b-one-crm/b-one-crm/build.gradle'
> Could not compile build file
> '/home/tk/workspace/b-one-crm/b-one-crm/build.gradle'.
> at
> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:112)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileToDir(DefaultScriptCompilationHandler.java:57)
> at
> org.gradle.groovy.scripts.CachingScriptCompilationHandler.compileToDir(CachingScriptCompilationHandler.java:33)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.loadViaCache(DefaultScriptCompilerFactory.java:90)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.compile(DefaultScriptCompilerFactory.java:69)
> at
> org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:114)
> at
> org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProcessor.java:38)
> at
> org.gradle.configuration.DefaultProjectEvaluator.evaluate(DefaultProjectEvaluator.java:38)
> at
> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:491)
> at
> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:69)
> at
> org.gradle.api.internal.project.ProjectInternal$evaluate.call(Unknown Source)
> at
> org.gradle.configuration.BuildConfigurer$_closure1.doCall(BuildConfigurer.groovy:41)
> at $Proxy6.execute(Unknown Source)
> at
> org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:467)
> at
> org.gradle.api.internal.project.AbstractProject.allprojects(AbstractProject.java:462)
> at org.gradle.api.Project$allprojects.call(Unknown Source)
> at
> org.gradle.configuration.BuildConfigurer.process(BuildConfigurer.groovy:48)
> at
> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:136)
> at
> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:107)
> at
> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:75)
> at org.gradle.launcher.Main.execute(Main.java:93)
> at org.gradle.launcher.Main.main(Main.java:42)
> at org.gradle.launcher.GradleMain.main(GradleMain.java:49)
> Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException:
> startup failed:
> General error during conversion: No suitable ClassLoader found for grab
>
> java.lang.RuntimeException: No suitable ClassLoader found for grab
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at
> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
> at
> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:107)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:192)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:200)
> at groovy.grape.GrapeIvy.chooseClassLoader(GrapeIvy.groovy:163)
> at groovy.grape.GrapeIvy$chooseClassLoader.callCurrent(Unknown Source)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
> at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:227)
> at groovy.grape.Grape.grab(Grape.java:143)
> at
> groovy.grape.GrabAnnotationTransformation.visit(GrabAnnotationTransformation.java:260)
> at
> org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransformationVisitor.java:302)
> at
> org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:813)
> at
> org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:511)
> at
> org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:487)
> at
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:464)
> at
> groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:297)
> at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:279)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:108)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileToDir(DefaultScriptCompilationHandler.java:57)
> at
> org.gradle.groovy.scripts.CachingScriptCompilationHandler.compileToDir(CachingScriptCompilationHandler.java:33)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.loadViaCache(DefaultScriptCompilerFactory.java:90)
> at
> org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.compile(DefaultScriptCompilerFactory.java:69)
> at
> org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:114)
> at
> org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProcessor.java:38)
> at
> org.gradle.configuration.DefaultProjectEvaluator.evaluate(DefaultProjectEvaluator.java:38)
> at
> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:491)
> at
> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:69)
> at
> org.gradle.api.internal.project.ProjectInternal$evaluate.call(Unknown Source)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
> at
> org.gradle.configuration.BuildConfigurer$_closure1.doCall(BuildConfigurer.groovy:41)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
> at
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:273)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
> at groovy.lang.Closure.call(Closure.java:276)
> at
> org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:51)
> at
> org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:79)
> at $Proxy6.execute(Unknown Source)
> at
> org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:467)
> at
> org.gradle.api.internal.project.AbstractProject.allprojects(AbstractProject.java:462)
> at org.gradle.api.Project$allprojects.call(Unknown Source)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
> at
> org.gradle.configuration.BuildConfigurer.process(BuildConfigurer.groovy:48)
> at
> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:136)
> at
> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:107)
> at
> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:75)
> at org.gradle.launcher.Main.execute(Main.java:93)
> at org.gradle.launcher.Main.main(Main.java:42)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.gradle.launcher.GradleMain.main(GradleMain.java:49)
>
> 1 error
>
> at
> org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:108)
> ... 22 common frames omitted
>
> BUILD FAILED
>
> Total time: 2.333 secs
Regards
Thor
ons, 26 01 2011 kl. 21:49 -0800, skrev Merlyn Albery-Speyer:
> If this is about using Class.forName to load JDBC drivers from a
> dynamically constructed classpath, then this issue came up with Groovy
> Grapes too. The solution in the end (from the user's perspective) was
> the @GrabConfig(systemClassLoader=true) setting.
>
> On Wed, 2011-01-26 at 08:53 -0800, Peter Niederwieser wrote:
> > You are running into a typical class loading problem that also occurs with
> > app servers. The class loader for Groovy/Gradle sits atop the class loader
> > for the build script. Hence the groovy.sql.Sql class cannot see the
> > org.postgresql.Driver class. Currently I don't know of a better way than to
> > put the driver Jar into Gradle's lib directory. Please raise an issue for
> > this.
> >
> > --
> > Peter Niederwieser
> > Developer, Gradle
> > http://www.gradle.org
> > Trainer & Consultant, Gradle Inc.
> > http://www.gradle.biz
> > Founder, Spock Framework
> > http://spockframework.org
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email