在Grails中制造战争遇到麻烦

时间:2009-08-31 18:13:43

标签: grails groovy debugging war

当我尝试在Grails中构建战争时,我收到以下错误。有什么可能导致这个问题的想法?有关调试正在构建战争的Groovy脚本的任何提示吗?

[web] $ cmd.exe / C D:\ dev \ tools \ grails-1.1 \ bin \ grails.bat war cloudfi.war&&退出%% 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 空值 显示java.lang.NullPointerException     在org.codehaus.groovy.runtime.InvokerHelper.getAttribute(InvokerHelper.java:129)     在org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getField(ScriptBytecodeAdapter.java:305)     at org.codehaus.groovy.grails.plugins.PluginInfo.getName(PluginInfo.groovy:53) ...     在java.lang.reflect.Method.invoke(Method.java:597)     在org.codehaus.groovy.grails.cli.support.GrailsS​​tarter.rootLoader(GrailsS​​tarter.java:187)     在org.codehaus.groovy.grails.cli.support.GrailsS​​tarter.main(GrailsS​​tarter.java:212)

3 个答案:

答案 0 :(得分:2)

在构建应用程序之前尝试清理grails可能是值得的。 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     }

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

答案 1 :(得分:1)

尝试清理Grails。如果这不起作用,请尝试删除您的应用程序Data.grails或它在您系统上的等效文件夹。我有类似的问题,删除该文件夹始终修复它们。

答案 2 :(得分:0)

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