2015-03-26 1 views
1

Я использую Jetty как встроенный веб-сервер в OSGi и среде spring-dm. Все мои пакеты и военные файлы успешно развернуты. Однако я наблюдать следующее предупреждение в моих журналах:Получение java.lang.ClassNotFoundException: org.eclipse.jetty.servlet.listener.IntrospectorCleaner

2015-03-25 17:32:13.748:WARN:oejw.StandardDescriptorProcessor:Could not instantiate listener org.eclipse.jetty.servlet.listener.IntrospectorCleaner 
java.lang.ClassNotFoundException: org.eclipse.jetty.servlet.listener.IntrospectorCleaner 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at org.eclipse.jetty.server.handler.ContextHandler.loadClass(ContextHandler.java:1517) 
    at org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1863) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:85) 
    at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:72) 
    at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:366) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
    at org.springframework.osgi.web.deployer.jetty.JettyWarDeployer.startWebAppContext(JettyWarDeployer.java:218) 
    at org.springframework.osgi.web.deployer.jetty.JettyWarDeployer.startDeployment(JettyWarDeployer.java:123) 
    at org.springframework.osgi.web.deployer.support.AbstractWarDeployer.deploy(AbstractWarDeployer.java:93) 
    at org.springframework.osgi.web.extender.internal.activator.WarLoaderListener$DeploymentManager$DeployTask.doRun(WarLoaderListener.java:261) 
    at org.springframework.osgi.web.extender.internal.activator.WarLoaderListener$DeploymentManager$BaseTask.run(WarLoaderListener.java:219) 
    at org.springframework.scheduling.timer.DelegatingTimerTask.run(DelegatingTimerTask.java:70) 
    at java.util.TimerThread.mainLoop(Timer.java:555) 
    at java.util.TimerThread.run(Timer.java:505) 

Хотя это предупреждение не влияет никакой функциональности, я все еще интересно знать, почему эта ошибка происходит. С небольшой отладкой я вижу, что пакет «org.eclipse.jetty.servlet.listener» не импортируется ни одним из модулей. Я явно добавил этот импорт в пакеты jetty-webapp и spring-osgi-web, но это тоже не помогло.

ответ

1

Обновите свою версию Jetty, у вас есть очень старая версия с неисправным манифестом.

Это было исправлено уже более года назад.

$ cd jetty-distribution-9.2.10.v20150310 
$ jar -xvf lib/jetty-servlet-9.2.10.v20150310.jar META-INF/MANIFEST.MF 
inflated: META-INF/MANIFEST.MF 
$ grep -A3 Export-Package META-INF/MANIFEST.MF 
Export-Package: org.eclipse.jetty.servlet;version="9.2.10",org.eclipse 
.jetty.servlet.jmx;version="9.2.10",org.eclipse.jetty.servlet.listene 
r;version="9.2.10" 
Bundle-Classpath: . 
+0

На самом деле у нас возникли проблемы с причалом-9, поэтому мы воздержались от модернизации. Спасибо, что сообщили, что эта проблема исправлена ​​в последней версии причала. Мы будем держать заметку. – geekprogrammer

+0

[Jetty 7 и Jetty 8 - EOL (конец жизни) с 2014 года.] (Https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00069.html) –

+0

Да, мы знаем об этом , Но когда мы столкнулись с другими проблемами, связанными с причалом, мы воздержались от модернизации. Мы рассмотрим jetty-9 в следующем выпуске. Кстати, мне интересно узнать, в чем проблема. Я вижу, что пакет "org.eclipse.jetty.servlet.listener" также экспортируется правильно в jetty-8: org.eclipse.jetty.servlet.li stener; использует: = "javax.servlet, org.eclipse. jetty.util.log, org.eclipse.je tty.util "; version =" 8.1.10 " – geekprogrammer

Смежные вопросы