【问题标题】:java.lang.ClassNotFoundException: fr.bordeaux.contactapp.Exceptions.AuthenticationException after renaming packagejava.lang.ClassNotFoundException:重命名包后的fr.bordeaux.contactapp.Exceptions.AuthenticationException
【发布时间】:2015-06-13 16:16:10
【问题描述】:

我移动/重命名了我的 servlet 所在的包,我得到了这个错误:

java.lang.ClassNotFoundException: fr.bordeaux.contactapp.Exceptions.AuthenticationException

我是 Eclipse 和 Java 的新手。我撤消了重命名,但错误仍然存​​在。 每个人都有我必须做的想法吗?

感谢您的帮助。

这里有痕迹:

Caused by: java.lang.NoClassDefFoundError: fr/bordeaux/contactapp/Exceptions/AuthenticationException
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2499)
    at java.lang.Class.getDeclaredFields(Class.java:1811)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:256)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:132)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:334)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:774)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5053)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: java.lang.ClassNotFoundException: fr.bordeaux.contactapp.Exceptions.AuthenticationException
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
    ... 20 more

【问题讨论】:

  • 请发布您的 web.xml
  • 您的异常包中有 AuthentificationException 吗?

标签: eclipse tomcat servlets package classnotfoundexception


【解决方案1】:

我使用的是旧版本的 Tomcat,所以这可能有帮助,也可能没有帮助。

在 WEB-INF 文件夹中检查名为 web.xml 的文件。我正在使用 Netbeans,所以对我来说它位于 src/main/webapp/WEB-INF 下 - Eclipse 可能会将其放在其他位置。

在该文件中,您可以指定用于运行 servlet 或过滤器的类。您的重构可能没有修改 web.xml 文件的内容。

祝你好运!

【讨论】:

  • 谢谢。也许可以,但我创建了一个新的动态 Web 项目并复制粘贴所有代码....
【解决方案2】:

您需要在错误堆栈跟踪中关注的是: 引起:java.lang.NoClassDefFoundError: fr/bordeaux/contactapp/Exceptions/AuthenticationException

您似乎仍在引用 AuthenticationException 类 在包 fr.bordeaux.contactapp.Exceptions 而且那里不存在这个类...

PS1:java 区分大小写 Ps2:按照约定,Java中的包都是小写的

【讨论】:

  • 谢谢。也许可以,但我创建了一个新的动态 Web 项目并复制粘贴所有代码....
【解决方案3】:

在我的情况下,通过在 url-pattern 中添加“/”修复了错误,我忘记使用了。添加“/”后,服务器成功启动。例如

<servlet-mapping>
<servlet-name>imp_servlet</servlet-name>
<url-pattern>/implement_servlet</url-pattern>
</servlet-mapping>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 2016-06-11
    • 2013-08-26
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多