问题描述
||
我们有一个与Terracotta Ehcache 3.3一起运行的Grails(1.3.4)应用程序。我们正在尝试将Terracotta安装更新到最新的3.5.1。我在BuildConfig.groovy中添加了以下几行:
inherits(\"global\") {
// uncomment to disable ehcache
// excludes \'ehcache\'
runtime \'net.sf.ehcache:ehcache-core:2.4.2\'
runtime \'net.sf.ehcache:ehcache-terracotta:2.4.2\'
runtime \"org.terracotta:terracotta-toolkit-1.2-runtime:3.1.0\"
}
我能够构建.war文件,但是当我尝试部署它时,我得到了:
SLF4J: The requested version 1.5.8 by your slf4j binding is not compatible with [1.6]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
Jun 14,2011 1:16:36 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Jun 14,2011 1:16:36 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/cooldeals-0.3.2] startup Failed due to prevIoUs errors
我知道Terracotta 3.5.1和Grails使用的SLF4J版本不同,并且存在一些冲突。到底应该从BuildConfig中排除什么?
谢谢,
伊拉克利斯
解决方法
运行
grails dependency-report
,并检查哪些jar依赖于SFL4j Jar。
对我来说,这个罐子在后面很疼。对于在glassfish 3.1.1上进行部署,我遇到了同样的问题。我通过创建应用程序战争解决了此问题,并用war文件中的jar替换了玻璃鱼安装中的sfl4j jar。