我认为这对您来说很简单:
我有一个 Controller ,我想在其中访问另一个类XY(groovy类,位于包src / groovy ...中)中的静态字段。但这得到一个NoClassDefFoundError。
public class XY{ public static final String a = "something" }
in controller: XY.a causes error!!!
与XY类相同的软件包中的其他类不会引起问题。
我做错了什么?
最佳答案
看来您已经简化了示例。 NoClassDefFoundError
与ClassNotFoundException
不同。当该类不存在时,会发生ClassNotFoundException
。 NoClassDefFoundError
在类存在时发生,但其引用的内容不在。因此,修复起来很麻烦。
XY软件包是否与文件夹结构匹配(即,如果在“com.foo”软件包中,是否在src / groovy / com / foo中)?
尝试运行“grails clean”并再次运行-可能是编译器有些混乱,重新编译一切可以解决问题,或显示出真正的问题。
关于grails - 访问静态变量时grails/groovy NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11541665/