0

我认为这对您来说很容易:

我有一个控制器,我想在其中访问另一个类 XY(groovy 类,位于包 src/groovy ...)中的静态字段。但这会得到一个 NoClassDefFoundError。

public class XY{ public static final String a = "something" }

in controller: XY.a causes error!!!

同一个包中除 XY 类之外的其他类不会引起问题。

我做错了什么?

4

2 回答 2

1

看来您已经过度简化了该示例。NoClassDefFoundError不一样。_ 上课不在时发生。当类在那里时发生,但它引用的东西不是。所以修复起来要麻烦得多。ClassNotFoundExceptionClassNotFoundExceptionNoClassDefFoundError

XY 包是否与文件夹结构匹配(即如果它在“com.foo”包中,是否在 src/groovy/com/foo 中)?

尝试运行 'grails clean' 并再次运行它 - 可能存在一些编译器混淆,重新编译所有内容都可以解决它,或者显示真正的问题。

于 2012-07-18T14:52:06.663 回答
0

我发现了问题所在:

类 XY 已编译,但我尝试将“”分配给(意外声明的)静态整数。

这就是为什么整个类无法初始化并发生错误的原因。

是否有任何属性可以设置编译器以打印警告?

感谢您的提示!

于 2012-07-19T08:13:00.770 回答