在尝试将Grails应用程序部署到tomcat6时,我遇到了一些问题:我使用grails war
命令构建了一个war,然后将其复制到var/lib/tomcat6/webapps
并尝试重新启动容器。 / p>
我不得不更改默认的Tomcat策略以跳过安全异常,因为我无法访问环境变量(如grails.env
),然后再次尝试但是它给了我一个与实例化相关的异常,但它不清楚我应该在哪里尝试修复错误,根据tomcat6日志问题是:
SEVERE:将上下文初始化事件发送到类org.codehaus.groovy.grails.web.context.GrailsC $的侦听器实例的异常 org.springframework.beans.factory.BeanCreationException:在ServletContext $中定义名为'pluginManager'的bean时出错 在java.lang.Thread.run(Thread.java:619) 引起:org.codehaus.groovy.grails.exceptions.NewInstanceCreationException:无法创建类的新实例[Hiberna $ ......还有1个 引起:java.lang.NoClassDefFoundError:org.hibernate.cfg.Environment
好像它无法加载org.hibernate.cfg.Environment
类。
我检查了applicationContext.xml
,它引用了grails.xml
来搜索插件,在这最后一个文件中我实际拥有HibernateGrailsPlugin
。
我应该在哪里查找插件是否存在?
答案 0 :(得分:4)
我没有遇到您的具体问题,我建议您尝试运行
grails clean
然后尝试
grails run-war
如果它成功运行,那么尝试部署它。
我发现当你从grails中得到奇怪的错误时,是时候干净了。
答案 1 :(得分:2)
将jar文件hibernate-core-3.3.2.GA.jar
放在tomcat / lib中就可以了。
谢谢巴迪!
奇怪的是: 我在战争中使用了同一个jar文件的旧版本,但是它给了例外。该应用程序使用 Jetty 在 NetBeans 中正常工作,但在tomcat上部署它会产生此问题。
无论如何,它现在通过将jar文件hibernate-core-3.3.2.GA.jar
放在tomcat / lib中来工作。
再次感谢
答案 2 :(得分:1)
不是grails家伙,但你似乎错过了hibernate-core依赖项。您可以尝试将that .jar放入服务器共享库中,看看是否能解决您的问题。理想情况下,这将位于你的grails war libs的某个地方,但我不知道在哪里。