奇怪的是,我没有任何编译时错误,但是在运行应用程序时,我收到 Groovy 类的 NoClassDefFound 错误。
我正在使用带有 Groovy 2.7.0 插件的 Eclipse 3.6。我的机器上安装了 Groovy 1.8.5,并且 groovy-all.jar 在我的应用程序类路径中。
我可以在 WEB-INF/classes 文件夹中看到所有带有 .groovy 扩展名而不是 .class 扩展名的 groovy 文件。
我在这里缺少什么?
两种可能:
您的项目不是一个 groovy 项目,因此您的 groovy 文件被视为资源(而不是源)。资源被复制到输出文件夹,而源被编译。确保您的项目图标上有一个小的GR符号。
或者您可能无意中为您的 groovy 文件所在的源文件夹启用了脚本文件夹。转到 Preferences -> Groovy -> Compiler 并查看有关 Groovy Script Folders 的部分。请注意,Groovy 脚本文件夹也可以基于每个项目进行配置,因此您可能还需要查看 Project -> Properties -> Groovy Compiler。
确保您使用groovy
而不是执行代码java
。否则,您必须在类路径中链接 groovy.jar 文件。请参阅此讨论。