固定的
大家好,我现在可以正常工作了。原来我错过了 Groovy 插件(感谢 Peter)。请参阅下面的答案。原帖留作参考。
我们是 grails 的新手,所有的东西都是 gradle 的。我已经尝试过使用 gradle 构建我们的 grails 应用程序的最简单案例,但无论我尝试什么命令(具有讽刺意味的是“createWrapper”除外,它有效但没有帮助)我得到:
$ 分级测试 不推荐使用动态属性:http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html 不推荐使用的动态属性:“根项目'IMPACT'”上的“grailsVersion”,值:“2.0.4”。 :测试 FAILURE:构建失败并出现异常。 * 什么地方出了错: 任务 ':test' 执行失败。 > groovy/lang/GroovyObject * 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。 构建失败 总时间:4.867 秒
我使用哪个命令没有区别,输出总是相同的。
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 测试:测试 > > FAILURE:构建失败并出现异常。 > > * 出了什么问题:任务 ':test' 执行失败。 >> groovy/lang/GroovyObject > > * 尝试:使用 --info 或 --debug 选项运行以获得更多日志输出。 > > * 例外情况是: > > org.gradle.api.tasks.TaskExecutionException:任务执行失败 >':测试'。在 > org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:68) > 在 > org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) > 在 > org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:34) > 在 > org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter$1.run(CacheLockHandlingTaskExecuter.java:34) > 在 > org.gradle.cache.internal.DefaultCacheAccess$2.create(DefaultCacheAccess.java:200) > 在 > org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:172) > 在 > org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:198) > 在 > org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:111) > 在 > org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83) > 在 > org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter.execute(CacheLockHandlingTaskExecuter.java:32) > 在 > org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:55) > 在 > org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57) > 在 > org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41) > 在 > org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51) > 在 > org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52) > 在 > org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42) > 在 > org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:247) > 在 > org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:192) > 在 > org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:177) > 在 > org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:83) > 在 > org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:36) > 在 > org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) > 在 > org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) > 在 > org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) > 在 > org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31) > 在 > org.gradle.cache.internal.DefaultCacheAccess$1.create(DefaultCacheAccess.java:111) > 在 > org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:126) > 在 > org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:109) > 在 > org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:103) > 在 > org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79) > 在 > org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29) > 在 > org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) > 在 > org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) > 在 > org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) > 在 > org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) > 在 > org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) > 在 > org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54) > 在 > org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:155) > 在 > org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:110) > 在 > org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:78) > 在 > org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:42) > 在 > org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:28) > 在 > org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201) > 在 > org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174) > 在 > org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170) > 在 > org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139) > 在 > org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:31) > 在 > org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:20) > 在 org.gradle.launcher.Main.doAction(Main.java:48) 在 > org.gradle.launcher.exec.EntryPoint.run(EntryPoint.java:45) 在 > org.gradle.launcher.Main.main(Main.java:39) 在 > org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50) > 在 org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:32) > 在 org.gradle.launcher.GradleMain.main(GradleMain.java:24) 引起: > java.lang.NoClassDefFoundError: groovy/lang/GroovyObject at > org.grails.launcher.RootLoader.oldFindClass(RootLoader.java:143) 在 > org.grails.launcher.RootLoader.loadClass(RootLoader.java:115) 在 > org.grails.launcher.GrailsLauncher.(GrailsLauncher.java:70) 在 > org.grails.gradle.plugin.GrailsTask.createLauncher(GrailsTask.groovy:107) > 在 > org.grails.gradle.plugin.GrailsTask.executeCommand(GrailsTask.groovy:56) > 在 > org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:196) > 在 > org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:102) > 在 > org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:99) > 在 org.grails.gradle.plugin.GrailsTask_Decorated.invokeMethod(未知 > 来源)在 > org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23) 在 > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$4.execute(AnnotationProcessingTaskFactory.java:150) > 在 > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$4.execute(AnnotationProcessingTaskFactory.java:145) > 在 > org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:477) > 在 > org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:466) > 在 > org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:60) > ... 53 更多原因:java.lang.ClassNotFoundException: > groovy.lang.GroovyObject 在 > org.grails.launcher.RootLoader.findClass(RootLoader.java:147) 在 > org.grails.launcher.RootLoader.loadClass(RootLoader.java:119) ... 68 > 更多 > > > 构建失败 > > 总时间:5.534 秒
非常感谢任何指针或评论。
--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