Glassfish记录错误 - java.lang.ClassNotFoundException

时间:2014-07-15 17:44:26

标签: java eclipse java-ee servlets glassfish

我正在使用eclipse kepler在本地glassfish服务器上部署一个简单的java ee应用程序。我只有一个名为controller servlet的servlet。我认为我的应用程序一切正常,直到在eclipse中检查了控制台窗口并看到了我的glassfish服务器的异常。我有一个servlet的java文件,这段代码的类文件必须在某处,因为我点击了构建项目。那么,为什么它无法找到类文件?该错误没有给我任何更多有用的信息。

请帮我弄清楚错误的原因并加以修复。

java.lang.ClassNotFoundException: java.controller.ControllerServlet
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1761)
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1611)
    at com.sun.enterprise.deployment.annotation.impl.ModuleScanner.getElements(ModuleScanner.java:297)
    at com.sun.enterprise.deployment.archivist.Archivist.processAnnotations(Archivist.java:585)
    at com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:462)
    at com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:446)

    .........MUCH MORE....

1 个答案:

答案 0 :(得分:0)

您不应该拥有任何名称以java开头的自有软件包。将java.controller包的名称替换为myapp.controller之类的其他名称,并使用相同的模式为项目中的其他包执行此操作。之后,重新部署应用程序。

上述问题的确切解释:Java Language Specification. Chapter 6. Names. 6.1. Declarations.

  

仅供本地使用的包的名称应该具有以小写字母开头的第一个标识符,但该第一个标识符不应该是以标识符{{开头的标识符java;包名称1}}保留用于Java SE平台的包。