为什么我要为GAE应用获取ClassNotFoundException

时间:2019-05-13 12:38:15

标签: java google-app-engine objectify

我有一个我在一月份使用Objectify部署的GAE应用程序,此后一直没有关注。今天部署应用程序并访问该应用程序时,出现以下异常:     com.google.apphosting.runtime.jetty9.JettyLogger警告:无法实例化侦听器dk.louise.dao.InitializerContextListener(JettyLogger.java:29)     java.lang.ClassNotFoundException:dk.louise.dao.InitializerContextListener

其中dk.louise.dao.InitializerContextListener实现javax.servlet.ServletContextListener,并在web.xml中定义为:

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" id="WebApp_ID"     version="3.0">
    <listener>
        <listener-class>
            dk.louise.dao.InitializerContextListener
        </listener-class>
    </listener>
...

似乎其他许多人也有类似的问题,并使用最新的GAE SDK进行了修复。我使用1.9.73,但这不能解决问题。

谢谢, 路易丝

1 个答案:

答案 0 :(得分:1)

ClassNotFoundExceptionNoClassDefFoundError几乎总是表明您的类路径设置有问题。这不是GAE特定的问题,而是Java的问题。

很难通过提供的信息来调试它-您如何运行该应用程序? Maven,gradle,来自您的IDE?研究如何设置类路径,并确保存在您期望提供的代码。