NoClassDefFoundError:jnlp.sample.servlet.ResourceCatalog $ PathEntries

时间:2012-02-27 10:19:05

标签: java tomcat jnlp java-web-start

当用户尝试通过java web start下载应用程序时,我们的应用程序会不时出现以下异常:

java.lang.NoClassDefFoundError: jnlp.sample.servlet.ResourceCatalog$PathEntries
    at jnlp.sample.servlet.ResourceCatalog.lookupResource(ResourceCatalog.java:109)
    at jnlp.sample.servlet.JnlpDownloadServlet.handleVersionRequest(JnlpDownloadServlet.java:233)
...
Caused by: java.lang.ClassNotFoundException: jnlp.sample.servlet.ResourceCatalog$PathEntries
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
    ... 44 more

java.lang.NoClassDefFoundError: jnlp.sample.util.VersionID
    at jnlp.sample.util.VersionString.<init>(VersionString.java:58)

java.lang.NoClassDefFoundError: jnlp.sample.servlet.XMLNode
    at jnlp.sample.servlet.XMLParsing.convert(XMLParsing.java:67)

重新启动Tomcat可以解决这些问题 有没有人有任何想法 - 这些例外的根本原因是什么?

更新
在我看来,此异常仅存在于仅在Java 1.5上运行Tomcat的客户端上 据我所知,在使用Java 1.4的客户端上没有这样的例外。

2 个答案:

答案 0 :(得分:0)

它可能来自Tomcat中的自动应用程序重新加载或JSP重新编译。

由于Context option reloadable="true"

,我建议您停用该开发功能

答案 1 :(得分:0)