3

我正在开发一个 grails 应用程序,并一直在尝试将其部署到 glassfish 。但是,在部署期间,我收到以下错误:

从服务器日志:

[#|2013-04-16T07:53:21.540-0400|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=91;_ThreadName=Thread-1;|2013-04-16 07:53:21,540 [admin-thread-pool-7720(2)] ERROR context.ContextLoader  - Context initialization failed

org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is **java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V**
                at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
                at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)

                at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) 

……</p>

在我的系统类路径中,我有以下文件:slf4j-api-1.5.6.jar、slf4j-api-1.5.6.jar、slf4j-log4j12-1.5.6.jar。

我认为问题在于 Grails 正在尝试从 slf4j 1.6 加载方法(我在 Grails 2.1.0 上)。我希望 Grails 使用它的 webapps 类路径,而不是使用系统类路径。

我该怎么做呢 ?

4

1 回答 1

1

如果我没记错的话,您的容器中不能有同一个库的两个版本,因此您需要将类路径中的版本升级到 1.6

于 2013-04-16T16:18:54.420 回答