2012-11-11 39 views
2

我有一个Grails应用程序可以在开发过程中正常运行,但是当我创建一个war文件时(grails dev create war/target例如.helloworld.war).war无法正确部署。“Severe:Error Listener Start”使用spring-security-ldap插件部署Grails应用程序1.0.6

通过消除过程,我将问题缩小到了spring-security-ldap插件。

我已经在三种环境测试这一点:

的Tomcat 7的MacOSX JDK7 的Tomcat 6的Ubuntu 12.04 JDK7 的Tomcat 7的Ubuntu 12.04 JDK7

我用相同的JDK版本在所有环境中进行编译。

的错误,我得到:

INFO:部署Web应用程序归档helloworld.war 2012年11月11日下午12点54分15秒开始org.apache.catalina.core.StandardContext严重 :错误listenerStart 十一月11,2012 12:54:15 PM org.apache.catalina.core.StandardContext start SEVERE:Context [/ helloworld]启动因以前的错误而失败 2012年11月11日下午12时54分15秒org.apache.catalina。 loader.WebappClassLoader clearReferencesThreads SEVERE:Web应用程序[/ helloworld]似乎已经启动了一个名为[MongoCleaner1671814044]的线程,但未能阻止它。这很可能造成内存泄漏。

我也按照说明将FINE日志记录添加到类文件夹,但是这似乎并没有帮助我在这里。

仅供参考我按照这个线程:http://grails.1312388.n4.nabble.com/Deployment-problems-td4628710.html

有没有人遇到此与弹簧安全LDAP 1.0.6解决了吗?

在此先感谢?

回答

7

放在一个名为在WEB-INF/classes(unwar您的应用程序)文件夹logging.properties文件,并把这个里面:

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler 

org.apache.juli.FileHandler.level = FINE 
org.apache.juli.FileHandler.directory = /var/log 
org.apache.juli.FileHandler.prefix = myapp-tomcat. 

java.util.logging.ConsoleHandler.level = FINE 
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 

接着重新启动Tomcat。

您的应用程序仍然会失败,但里面的文件/var/log/myapp-tomcat.log你会发现比无用更详细的错误跟踪“严重错误:listenerStart”

有可能是缺少类文件或数据库配置错误。

+2

这是一个巨大的帮助。谢谢。我遵循其他人关于如何获取日志记录的说明,但他们错过了写入文件的位置。所以我错误地认为产量会达到catalina-2012-x-x。我能够发现来自Spring的异常,这导致我找到了根本原因(当我有足够的时间来彻底记录它时,我会在这里发布)。坚实的答案,非常感谢你! – binarygiant

+0

我正在将一个项目转换为使用Spring Boot。这帮助我发现web.xml中定义的默认上下文监听器与Spring Boot创建的监听器冲突。 – Pytry