Tomcat错误 - Grails应用程序 - NoClassDefFoundError

时间:2011-06-17 14:29:22

标签: tomcat grails classloader noclassdeffounderror

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:none作为Tomcat设置。我在哪里设置这个? 我还应该做些什么来解决这个问题?

我使用的是最新版本的Tomcat 7.0.14

2 个答案:

答案 0 :(得分:1)

上面的评论中提供了一个解决方案,但是您发布的关于如何将vm args传递给Tomcat的问题也值得回答。

自grails 1.3.5起,您可以在执行

时将jvm args显式传递给Tomcat
$ grails run-war

要执行此操作,请在Config.groovy文件中添加以下内容

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

如果您只是运行grails run-app,那么正在运行的tomcat实例中包含的任何jvm args将包含在运行的tomcat实例中,因为该实例位于同一个JVM中。

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

答案 1 :(得分:0)

你检查过基础知识吗?

运行'grails'war',看看你的班级是否编译并且在战争中?

是否可以使用grails run-app,而不是tomcat?

你在哪个环境工作? SpringSource ToolSuite(STS)现在为Eclipse管理的服务器(即Tomcat)提供Grails“在服务器上运行”选项,可以帮助您快速启动和运行环境。

请注意,Grails 1.3.x附带Tomcat 6.0.x,最新的1.4M1里程碑版本支持Tomcat7,因此您可能需要尝试。