gradle grails总是失败>常规/郎/的GroovyObject

时间:2012-07-13 17:46:46

标签: grails gradle

固定

大家好,我现在就开始工作了。结果我错过了Groovy插件(感谢Peter)。见下面的答案。原帖留作参考。


我们对grails和所有事情都不熟悉。我已经尝试过最简单的案例,我可以使用gradle来构建我们的grails应用程序,但无论我尝试什么命令(具有讽刺意味的是“createWrapper”哪个有效但没有帮助)我得到:

$ gradle test
Dynamic properties are deprecated: http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html
Deprecated dynamic property: "grailsVersion" on "root project 'IMPACT'", value: "2.0.4".
:test

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> groovy/lang/GroovyObject

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.867 secs

我使用哪个命令没有区别,输出总是相同的。

Gradle build.gradle文件如下:

ext.grailsVersion = '2.0.4'

task createWrapper(type: Wrapper) {
    gradleVersion = '1.0'
}

buildscript {
    repositories {
        maven {
             url 'http://repo.grails.org/grails/core/'
        }
    }

    dependencies {
        classpath 'org.grails:grails-gradle-plugin:1.1.1-SNAPSHOT',
                  "org.grails:grails-bootstrap:2.0.4"
    }
}

apply plugin: 'groovy'
apply plugin: 'grails'

repositories {
    mavenCentral()
    maven { url 'http://repo.grails.org/grails/core/' }
    maven { url 'http://repo.grails.org/grails/plugins/' }
}    

dependencies {
    compile "org.grails:grails:2.0.4",
            "org.grails:grails-core:2.0.4",
            "org.grails:grails-hibernate:2.0.4",
            "org.grails:grails-logging:2.0.4",
            "org.grails:grails-plugin-controllers:2.0.4",
            "org.grails:grails-plugin-services:2.0.4",
            "org.grails:grails-plugin-domain-class:2.0.4",
            "org.grails:grails-plugin-datasource:2.0.4",
            "org.grails:grails-plugin-i18n:2.0.4",
            "org.grails:grails-spring:2.0.4",
            "org.grails.plugins:spring-security-core:1.2.7.3",
            "org.grails.plugins:spring-security-ldap:1.0.6"
}

环境是:JDK 1.7.0_05,groovy 1.8.6,grails 2.0.4,gradle 1.0,Mac Os X 10.7.4。

堆栈追踪:


> $ gradle --stacktrace test :test
> 
> FAILURE: Build failed with an exception.
> 
> * What went wrong: Execution failed for task ':test'.
> > groovy/lang/GroovyObject
> 
> * Try: Run with --info or --debug option to get more log output.
> 
> * Exception is:
> 
> org.gradle.api.tasks.TaskExecutionException: Execution failed for task
> ':test'.  at
> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:68)
>   at
> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
>   at
> org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:34)
>   at
> org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter$1.run(CacheLockHandlingTaskExecuter.java:34)
>   at
> org.gradle.cache.internal.DefaultCacheAccess$2.create(DefaultCacheAccess.java:200)
>   at
> org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:172)
>   at
> org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:198)
>   at
> org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:111)
>   at
> org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83)
>   at
> org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter.execute(CacheLockHandlingTaskExecuter.java:32)
>   at
> org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:55)
>   at
> org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
>   at
> org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
>   at
> org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
>   at
> org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
>   at
> org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
>   at
> org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:247)
>   at
> org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:192)
>   at
> org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:177)
>   at
> org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:83)
>   at
> org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:36)
>   at
> org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
>   at
> org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
>   at
> org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
>   at
> org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31)
>   at
> org.gradle.cache.internal.DefaultCacheAccess$1.create(DefaultCacheAccess.java:111)
>   at
> org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:126)
>   at
> org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:109)
>   at
> org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:103)
>   at
> org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
>   at
> org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29)
>   at
> org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
>   at
> org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
>   at
> org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
>   at
> org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
>   at
> org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
>   at
> org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
>   at
> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:155)
>   at
> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:110)
>   at
> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:78)
>   at
> org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:42)
>   at
> org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:28)
>   at
> org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
>   at
> org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
>   at
> org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
>   at
> org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
>   at
> org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:31)
>   at
> org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:20)
>   at org.gradle.launcher.Main.doAction(Main.java:48)  at
> org.gradle.launcher.exec.EntryPoint.run(EntryPoint.java:45)   at
> org.gradle.launcher.Main.main(Main.java:39)   at
> org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
>   at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:32)
>   at org.gradle.launcher.GradleMain.main(GradleMain.java:24) Caused by:
> java.lang.NoClassDefFoundError: groovy/lang/GroovyObject  at
> org.grails.launcher.RootLoader.oldFindClass(RootLoader.java:143)  at
> org.grails.launcher.RootLoader.loadClass(RootLoader.java:115)     at
> org.grails.launcher.GrailsLauncher.(GrailsLauncher.java:70)     at
> org.grails.gradle.plugin.GrailsTask.createLauncher(GrailsTask.groovy:107)
>   at
> org.grails.gradle.plugin.GrailsTask.executeCommand(GrailsTask.groovy:56)
>   at
> org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:196)
>   at
> org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:102)
>   at
> org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:99)
>   at org.grails.gradle.plugin.GrailsTask_Decorated.invokeMethod(Unknown
> Source)   at
> org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)   at
> org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$4.execute(AnnotationProcessingTaskFactory.java:150)
>   at
> org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$4.execute(AnnotationProcessingTaskFactory.java:145)
>   at
> org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:477)
>   at
> org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:466)
>   at
> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:60)
>   ... 53 more Caused by: java.lang.ClassNotFoundException:
> groovy.lang.GroovyObject  at
> org.grails.launcher.RootLoader.findClass(RootLoader.java:147)     at
> org.grails.launcher.RootLoader.loadClass(RootLoader.java:119)     ... 68
> more
> 
> 
> BUILD FAILED
> 
> Total time: 5.534 secs

任何指针或评论都非常感谢。

来自--debug输出的片段:

09:17:15.191 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
09:17:15.191 [ERROR] [org.gradle.BuildExceptionReporter]    at org.grails.launcher.RootLoader.oldFindClass(RootLoader.java:143)
09:17:15.192 [ERROR] [org.gradle.BuildExceptionReporter]    at org.grails.launcher.RootLoader.loadClass(RootLoader.java:115)
09:17:15.192 [ERROR] [org.gradle.BuildExceptionReporter]    at org.grails.launcher.GrailsLauncher.<init>(GrailsLauncher.java:70)
09:17:15.192 [ERROR] [org.gradle.BuildExceptionReporter]    at org.grails.gradle.plugin.GrailsTask.createLauncher(GrailsTask.groovy:107)
09:17:15.192 [ERROR] [org.gradle.BuildExceptionReporter]    at org.grails.gradle.plugin.GrailsTask.executeCommand(GrailsTask.groovy:56)
09:17:15.192 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:196)
09:17:15.193 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:102)
09:17:15.193 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:99)
09:17:15.193 [ERROR] [org.gradle.BuildExceptionReporter]    at org.grails.gradle.plugin.GrailsTask_Decorated.invokeMethod(Unknown Source)
09:17:15.193 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
09:17:15.193 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$4.execute(AnnotationProcessingTaskFactory.java:150)
09:17:15.193 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$4.execute(AnnotationProcessingTaskFactory.java:145)
09:17:15.193 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:477)
09:17:15.194 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:466)
09:17:15.194 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:60)
09:17:15.194 [ERROR] [org.gradle.BuildExceptionReporter]    ... 53 more
09:17:15.194 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.ClassNotFoundException: groovy.lang.GroovyObject
09:17:15.194 [ERROR] [org.gradle.BuildExceptionReporter]    at org.grails.launcher.RootLoader.findClass(RootLoader.java:147)
09:17:15.194 [ERROR] [org.gradle.BuildExceptionReporter]    at org.grails.launcher.RootLoader.loadClass(RootLoader.java:119)
09:17:15.194 [ERROR] [org.gradle.BuildExceptionReporter]    ... 68 more
09:17:15.194 [ERROR] [org.gradle.BuildExceptionReporter] 
09:17:15.195 [LIFECYCLE] [org.gradle.BuildResultLogger] 
09:17:15.195 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED

3 个答案:

答案 0 :(得分:1)

坏消息 - 下面的文件通过让测试运行来部分修复问题,但在将构建打包到WAR时失败。我只能假设在grails或groovy部分中缺少依赖性。我在底部有一个更简单的工作版本,它可以在本地进行测试和打包。不幸的是,它仍然无法与最新的Jenkins插件一起使用。

感谢Peter Ledbrook和Peter Niederwieser帮助解决我的问题。

更正的gradle文件是:以下文件允许测试运行(gradle测试)但在打包期间失败并出现相同的错误(gradle war):

ext.grailsVersion = '2.0.4'

task createWrapper(type: Wrapper) {
    gradleVersion = '1.0'
}

apply plugin: 'groovy'

repositories {
    mavenCentral()
}

dependencies {
    groovy group: 'org.codehaus.groovy', name: 'groovy-all', version: '1.8.6'
}

buildscript {
    repositories {
        maven { url {'http://repo.grails.org/grails/core/'} }
    }

    dependencies {
        classpath 'org.grails:grails-gradle-plugin:1.1.1-SNAPSHOT',
                  "org.grails:grails-bootstrap:2.0.4"
    }
}

apply plugin: 'grails'

repositories {
    mavenCentral()
    maven { url 'http://repo.grails.org/grails/core/' }
    maven { url 'http://repo.grails.org/grails/plugins/' }
}

dependencies {
    compile "org.grails:grails:2.0.4",
            "org.grails:grails-core:2.0.4",
            "org.grails:grails-hibernate:2.0.4",
            "org.grails:grails-logging:2.0.4",
            "org.grails:grails-plugin-controllers:2.0.4",
            "org.grails:grails-plugin-services:2.0.4",
            "org.grails:grails-plugin-domain-class:2.0.4",
            "org.grails:grails-plugin-datasource:2.0.4",
            "org.grails:grails-plugin-i18n:2.0.4",
            "org.grails:grails-spring:2.0.4",
            "org.grails.plugins:spring-security-core:1.2.7.3",
            "org.grails.plugins:spring-security-ldap:1.0.6"
}

本地工作的简单文件是:

task createWrapper(type: Wrapper) {
    gradleVersion = '1.0'
}

buildscript {
    repositories {
      mavenCentral()
    }
    dependencies {
      classpath 'com.connorgarvey.gradle:gradle-grails-wrapper:1.0'
    }
  }

apply plugin: 'grails'

grails {
    version '2.0.4'
}

可能有更好的方法 - 但我无法解决这个问题!

答案 1 :(得分:0)

看起来像grails-gradle-plugin的类加载问题。也许该插件与您使用的Grails或Gradle版本不兼容。插件作者可能会了解更多。

答案 2 :(得分:0)

你实际上需要在buildcript中引导groovy的版本......

查看Gradle / Grails application以获取更完整的示例。