NoClassDefFoundError:App Engine上的JspSourceDependent

时间:2012-03-03 13:46:56

标签: java google-app-engine

我的应用程序在开发服务器上工作正常,但是当我上传它无法启动时,我在日志中得到以下异常:java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspSourceDependent。到目前为止,它似乎与我的应用程序中声明的jsp依赖项有关:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.el</groupId>
        <artifactId>el-api</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
    </dependency>

我在这里遗漏了一些明显的东西,为什么应用程序在开发环境中工作正常但却无法在生产环境中启动?

2 个答案:

答案 0 :(得分:1)

异常是由于使用jspc-maven-plugin预编译了JSP,它在预编译的类中留下了特定于tomcat的代码。解决方案是从pom中删除插件,让appcfg在上传之前进行预编译。

答案 1 :(得分:0)

我认为您需要为您的开发服务器切换到Jetty。