1

当我尝试在 Grails 中构建战争时,出现以下错误。关于可能导致问题的任何想法?有关调试构建战争的 Groovy 脚本的任何提示?

[web] $ cmd.exe /CD:\dev\tools\grails-1.1\bin\grails.bat war cloudfi.war && exit %%ERRORLEVEL%% 欢迎使用 Grails 1.1 - http://grails.org/ 授权于Apache Standard License 2.0 Grails home 设置为:D:\dev\tools\grails-1.1

基本目录:D:\dev\workspace.hudson\jobs\cloudfi\workspace\trunk\web 运行脚本 D:\dev\tools\grails-1.1\scripts\War.groovy 环境设置为生产警告,目标导致名称覆盖名称 startLogging null java.lang.NullPointerException 在 org.codehaus.groovy.runtime.InvokerHelper.getAttribute(InvokerHelper.java:129) 在 org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getField(ScriptBytecodeAdapter.java:305) 在 org.codehaus .groovy.grails.plugins.PluginInfo.getName(PluginInfo.groovy:53) ... 在 org.codehaus.groovy.grails.cli.support 上的 java.lang.reflect.Method.invoke(Method.java:597)。 GrailsS​​tarter.rootLoader(GrailsS​​tarter.java:187) 在 org.codehaus.groovy.grails.cli.support.GrailsS​​tarter.main(GrailsS​​tarter.java:212)

4

3 回答 3

2

在构建应用程序之前尝试一次 grails clean 可能是值得的。invokerHelper 的第 129 行是:

129  public static Object invokeStaticMethod(String klass, String methodName, Object arguments) throws ClassNotFoundException {
130         Class type = InvokerHelper.class.forName(klass);
131         return getInstance().invokeStaticMethod(type, methodName, arguments);
132     }

所以我怀疑你有插件或类路径问题 - 清理安装可能会有所帮助。

于 2009-08-31T18:32:57.563 回答
1

尝试清洁圣杯。如果这不起作用,请尝试删除您的应用程序 Data.grails 或其系统上的等效文件夹。我遇到过类似的问题,删除该文件夹总是可以解决这些问题。

于 2009-08-31T19:09:38.143 回答
0

查看错误消息的文本,我的第一个猜测是,您在代码中的某个地方定义了一个名为“startLogging”的方法或字段,它与 Grails 正在执行的一些“魔法”相冲突。

于 2009-08-31T18:25:07.890 回答