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

私が間違っていなければ、コンテナに同じライブラリの 2 つのバージョンを含めることはできないため、クラスパスにあるバージョンを 1.6 にアップグレードする必要があります。

于 2013-04-16T16:18:54.420 に答える