Announcement Announcement Module
No announcement yet.
NoClassDefFoundError for NestedServletException from GAE after deploy Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • NoClassDefFoundError for NestedServletException from GAE after deploy

    I've created a simple Roo application with GWT support. It runs fine at local machine with STS 2.5.0.RC1. But, it doesn't work after to upload it to Google App Engine. The GAE logs from web admin console shows the following message:

    java.lang.NoClassDefFoundError: Could not initialize class org.springframework.web.util.NestedServletExceptio n

    But, the local build contains the file '/WEB-INF/lib/spring-web-3.0.4.RELEASE.jar' into the target directory created by the Maven deployment process. I supposed it was uploaded by the GAE maven plugin.

    Did someone know what is the root cause of this problem? Is there a way to check what files was installed into the GAE at the server side?

    Dev environment:
    Ubuntu 10.04.1 LTS
    OpenJDK (IcedTea6 1.8.1) (6b18-1.8.1-0ubuntu1)
    STS 2.5.0.RC1 (w/ Roo 1.1.0.RC1 + GWT 2.1.0.RC1)
    GAE SDK 1.3.2

    The attachment contains the file with full stacktrace from GAE web console and the log.roo file.
    Last edited by drspockbr; Oct 22nd, 2010, 02:58 PM.

  • #2
    Can you please try one of the following solutions:

    1. Upgrade your project pom.xml to use the newly released version of Spring Framework v 3.0.5

    2. Alternatively, go to src/main/resources/WEB-INF/spring/webmvc-config.xml and change

    <mvc:default-servlet-handler />

    <mvc:default-servlet-handler default-servlet-name="_ah_default" />
    Let me know if that does the trick for you.



    • #3
      Hi Stefan,

      I noticed the missing attribute at the Spring MVC configuration after an exception from GAE. The Spring Dispatcher Servlet configuration into the web.xml file was created with the project name by Roo. I tried to fill the default-servlet-name attribute with the project name. But, It didn't work.

      After many unsuccessful attempts, I realized that the 2nd proposed solution suggests the value "_ah_default" for the missing attribute. Then, I tried it. Now, the sample application is working fine at GAE server side.

      The 1st proposed solution doesn't affect the sample app.

      Thx 4 your help,