Grails 2.4.4 无法创建 codecLookup bean

标签 grails grails-2.0

我正在将 2.3 应用程序升级到 2.4.4,但在启动时遇到了一个奇怪的错误:

Caused by BeanCreationException: Error creating bean with name 'codecLookup': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: [Assertion failed] - this String argument must have text; it must not be null, empty, or blank
->>  788 | callContextInitialized in org.eclipse.jetty.server.handler.ContextHandler

有没有人以前见过这个或者可以给我任何关于可能导致它的指示?

最佳答案

我已经弄清楚了。我在 grails-app/utils 中定义了一个抽象基础编解码器以及几个子类,即

grails-app/utils/
                BaseCodec.groovy
                MyCodec.groovy

abstract class BaseCodec {
...
}

class MyCodec extends BaseCodec {
...
}

在 2.3+ 中这有效但是在 2.4 中 grails 不喜欢 utils 中的抽象类所以我将它移动到 src/groovy:

src/groovy/BaseCodec.groovy
grails-app/utils/MyCodec.groovy

这解决了错误。我希望从现在开始所有抽象的“grails 管理”类(编解码器、服务、域等)都应该放在 src/groovy 中

关于Grails 2.4.4 无法创建 codecLookup bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28356997/

相关文章:

session - 使 Grails 中过滤单元测试的 session 无效

grails - 从grails grails.config.location加载多个文件

grails - 在开发中更改 Grails 域类时如何避免丢失数据库

运行测试期间出现 Grails NoClassDefFoundError BuildableCriteria

jquery-ui - 自定义 Grails 生成的 View

rest - 处理REST和浏览器请求异常的最佳实践?

http - Grails/Groovy URL .getText 接收状态

grails - 如何从特质 “inherit”约束?

hibernate - 使用 Grails 和 GORM 在 PostgreSQL 中存储日期、时间和时区

jquery - Ajax 未定义 - Grails jQuery 插件