私は 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 クラスパスを使用するようにします。
これを行うにはどうすればよいですか?