NoClassDefFoundError: jnlp.sample.servlet.ResourceCatalog $ PathEntries - PullRequest
3 голосов
/ 27 февраля 2012

Время от времени в нашем приложении возникают следующие исключения, когда пользователь пытается загрузить приложение через веб-запуск java:

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 устраняет эти проблемы.
У кого-нибудь есть идеи - что может быть основной причиной этих исключений?

UPDATE:
Мне кажется, что это исключение существует на клиентах, которые запускают Tomcat только на Java 1.5.
И, насколько я понимаю, такого исключения нет на клиентах, использующих Java 1.4.

Ответы [ 2 ]

0 голосов
/ 14 марта 2012
0 голосов
/ 07 марта 2012

Это может произойти из-за автоматической перезагрузки приложения или перекомпиляции JSP в Tomcat.

Я рекомендую отключить эти функции разработки благодаря Параметру контекста reloadable="true"

...