2010-05-05 47 views
3

嘗試在Tomcat6中部署Grails應用程序時遇到了一些問題:我使用grails war命令構建了一個war,然後將其複製到var/lib/tomcat6/webapps並嘗試重新啓動容器。在Tomcat6上部署Grails

我不得不改變默認的Tomcat政策跳過安全例外,因爲我無法訪問環境變量(如grails.env),然後再次嘗試,但它給了我與實例什麼異常,但目前還不清楚,我應該嘗試修復錯誤,根據記錄的tomcat6的問題是:

SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsC$ org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext$ at java.lang.Thread.run(Thread.java:619) Caused by: org.codehaus.groovy.grails.exceptions.NewInstanceCreationException: Could not create a new instance of class [Hiberna$ ... 1 more Caused by: java.lang.NoClassDefFoundError: org.hibernate.cfg.Environment

現在看來似乎是無法加載org.hibernate.cfg.Environment類。

我檢查了applicationContext.xml,它指的是grails.xml搜索插件,在這最後的文件其實我有HibernateGrailsPlugin

我應該在哪裏查找插件是否存在?

+0

首先要嘗試的是關閉tomcat中的安全管理器。 – 2010-05-05 16:59:11

+0

正如我寫的,我已經把它關掉了! :) – Jack 2010-05-05 17:59:19

回答

1

不是一個grails傢伙,但你似乎缺少hibernate-core的依賴關係。您可以嘗試將that .jar放入您的服務器共享庫中,並查看是否可以解決您的問題。理想情況下,這將位於你的Grails war libs的某處,但我不確定它在哪裏。

4

我沒有你的具體問題,我建議你嘗試運行

grails clean 

然後嘗試

grails run-war 

如果它的成功運行,然後嘗試部署它。

我發現,當你從grails得到奇怪的錯誤是時候做一個乾淨的。

+0

事先運行grails清理技巧 - 非常感謝! – Peter 2010-07-23 01:56:14

2

在tomcat/lib中放置jar文件hibernate-core-3.3.2.GA.jar的確有竅門。 謝謝哥們!

奇怪的是: 我在戰爭中有相同的jar文件的舊版本,但它是例外。該應用程序工作正常,從NetBeans使用碼頭,但在tomcat上部署它提供此問題。

無論如何,它現在通過將jar文件hibernate-core-3.3.2.GA.jar放置在tomcat/lib中。

再次感謝