初始化缓存时导致“ grails run-app”失败的异常

时间:2018-11-23 18:03:31

标签: grails ehcache

在我的Grails 2.5.4应用中,我安装了以下插件

compile ":cache:1.1.8"
runtime ":cache-ehcache:1.0.5"

运行grails run-app时,在启动时出现以下错误

java.lang.NullPointerException
    at grails.plugin.cache.ehcache.GrailsEhCacheManagerFactoryBean$ReloadableCacheManager.rebuild(GrailsEhCacheManagerFactoryBean.java:171)
    at grails.plugin.cache.ehcache.EhcacheConfigLoader.reload(EhcacheConfigLoader.groovy:63)
    at grails.plugin.cache.ConfigLoader.reload(ConfigLoader.groovy:42)
    at CacheGrailsPlugin.reloadCaches(CacheGrailsPlugin.groovy:202)
    at CacheGrailsPlugin$_closure3.doCall(CacheGrailsPlugin.groovy:158)

如果我构建WAR并查看lib目录,则它包含以下两个依赖项:

  • ehcache-2.9.0.jar
  • ehcache-core-2.4.8.jar

根据this issue中的建议,我排除了ehcache-core中的传递性BuildConfig依赖项

runtime (":hibernate:3.6.10.18") { 
  excludes "ehcache-core" 
}

如果我重建WAR,则排除ehcache-core JAR ,但是运行grails run-app时在启动时仍然出现相同的错误。我怀疑问题的原因是ehcache依赖关系,但我不知道应该使用哪个JAR。

1 个答案:

答案 0 :(得分:2)

升级到休眠状态3.6.10.19似乎可以解决此问题。构建WAR时,包括以下ehcache依赖项:

  • ehcache-2.9.0.jar
  • hibernate-ehcache-3.6.10.Final.jar