我将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
有没有人见过这个或者能给我任何关于可能造成什么的指示?
答案 0 :(得分:3)
我到底了。我在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中