1

经过一些重构后,grails 无法从 gant 脚本中找到类。

gant 脚本位于一个插件中(作为 /lib 中的 ZIP)并使用几个 groovy 类。脚本无法解析这些类。

我已经尝试过:grails refresh-dependencies,grails clean-all,删除 {home}/.grails 目录,开始一个新项目并在其中包含插件,将其添加到 maven 并将其作为依赖项引用...

我现在没有任何线索……我需要这方面的帮助。

例外是:

| Error Error executing script GenerateMyDomain: startup failed:
GenerateMyDomain: 1: unable to resolve class de.company.my.mybackend.scaffolding.GenerateMyDomainClass
 @ line 1, column 1.
GenerateMyDomain: 2: unable to resolve class de.company.my.mybackend.scaffolding.JavaParser
 @ line 2, column 1.
2 errors

在 BuildConfig.groovy 中:

编译'de.company:my:0.1'

有人有其他想法吗?谢谢!

编辑:插件的缺失类最初位于 src/groovy 中。它们也包含在 .zip 包中。

4

1 回答 1

1

似乎不可能直接从 Gant 脚本中实例化类。我不知道为什么,但它以前工作过。

解决方案是通过反射来实例化类。

mcLoader = classLoader.loadClass('plugin.ui.scaffold.UserInterfaceTemplateGenerator')
def instanciatedClass = mcLoader.newInstance(classLoader)

来自:Grails 上的 NoClassDefFoundError GANT 脚本

于 2014-01-14T20:51:47.423 回答