Hi, I met a very weird problem to deploy grails war on tomcat. The environment of tomcat server is : Tomcat Version JVM Version JVM Vendor OS Name OS Version OS Architecture Apache Tomcat/6.0.32 1.6.0_22-b04 Sun Microsystems Inc. Linux 2.6.21.7-2.fc8xen i386
The development environment: 1. Windows 7 64 bits and jdk 1.6.0.20 64 bits netbean 6.9 This War always fails to deploy on tomcat, but runs successfully on local machine. 2. VMWare based UBuntu 10.10 32bits jdk 1.6.0.20 32bits This one works, but failed if the codes are in the sharefolder with win7. Have to copy to ubuntu to make the war work. The two Wars generated in two ways have hundred bytes difference. The error is : ERROR context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: net.test.user.Person at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.NoClassDefFoundError: net.test.user.Person at net.test.Bill.class$(Bill.groovy) at net.test.Bill.$get$$class$net$kencast$user$Person(Bill.groovy) at net.test.Bill.<clinit>(Bill.groovy:10) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) ... 3 more The weired thing is that if I use Ubuntu(32bits)/Netbean to build the war(same code), it works fine.... The ubuntu is running on VMware. But if the codes are in the sharefolder with windows, the war still does not work. I have to copy the files from shareFolder to Ubuntu. Then using the same codes to build the war, it works... And the size of two war have hundred bytes difference. Anyone meets the same problem? Thank you so much. Best, Gavin Yue