2011-06-17 87 views
0
2011-06-17 09:11:45,277 [main] ERROR com].[/] - Exception sending context destroyed event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener 
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; 
nested exception  is org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoClassDefFoundError: testProject.Checkin 

我只是試圖在Grails中「新建」一個普通的Domain類。從來沒有遇到過這個(以及我對此是新手)我將「新」移到BootStrap.groovy只是爲了看看它是否與控制器有關,導致相同的問題。不。看起來像整個jar沒有意識到testProject.Checkin類。
看到某處嘗試Xverify:沒有作爲Tomcat設置。我在哪裏設置? 我還應該做些什麼來解決問題?Tomcat錯誤 - Grails應用程序 - NoClassDefFoundError

我使用的是最新版的Tomcat 7.0.14

+1

在創建戰爭之前您是否嘗試過Grails清理? – hvgotcodes

+0

也嘗試發佈您的代碼!我會說,也許你可以有一些錯誤的進口,在某個地方?! –

+0

hvgotcodes,偉大的提示!以爲我是這樣定期做的。那爲什麼這樣工作?我可以理解一個班級的def可能如何過時,但他們最終由於不清洗而失蹤?哦,這對我來說是一個非常好的選擇。謝謝 – BuddyJoe

回答

1

有上述WRT的意見提出瞭解決實際問題,但您發佈的問題,關於如何通過VM參數傳遞給Tomcat是值得並回答太。

由於Grails的1.3.5,你可以明確地傳遞JVM參數傳遞給Tomcat的做

$ grails run-war 

這樣做時,添加以下你的Config.groovy文件

grails.tomcat.jvmArgs = ["-Xverify:none", "-Xmx1024m", "-XX:MaxPermSize=256m"] 

如果你只是運行grails run-app,然後無論是通過grails的jvm參數都將包含在正在運行的tomcat實例中,因爲實例位於同一個JVM中。

http://www.grails.org/doc/latest/ref/Command%20Line/run-war.html

+0

這個方法是否也會將它們傳遞給Tomcat,當你剛剛通過grails prod war並部署它時? JVM啓動後如何通過? – BuddyJoe

0

您是否檢查過基礎知識?

運行'grails'戰爭',看看你的課是否編譯過並且在戰爭中?

它是否從grails run-app工作,但不是tomcat?

你在哪個環境工作? SpringSource ToolSuite(STS)現在爲由Eclipse管理的服務器(即Tomcat)提供了一個Grails「在服務器上運行」選項,並且可以幫助您快速啓動並運行環境。

請注意,Grails 1.3.x隨附Tomcat 6.0.x,最新的1.4M1里程碑版本支持Tomcat7,因此您可能需要嘗試。

相關問題