Jetty 9:在类路径上检测不到Spring WebApplicationInitializer类型
作者:互联网
我正在尝试从jetty 7.6切换到jetty-9.2.1.我进行了所需的配置更改.但是在初始化jetty服务器时,我不断得到“在类路径上检测到没有Spring的WebApplicationInitializer类型”消息.
我的部署经理是:
New class =“org.eclipse.jetty.deploy.providers.WebAppProvider”>
<Set name="monitoredDirName">
<Property name="cometd.deploy.dir" default="/u/khandela/cometD/webapps_dev/" />
</Set>
<Set name="defaultsDescriptor">
<Property name="jetty.home" default="."/>/etc/webdefault.xml
</Set>
<Set name="scanInterval">1</Set>
<Set name="extractWars">true</Set>
<Set name="contextXmlDir">
<Property name="jetty.home" default="." />/contexts
</Set>
在新版本中,“contextXmlDir”被删除.所以我也从配置中删除了.当我运行时,我会继续收到上面显示的消息.如果是的话,我应该把它添加回来吗?
在运行时我正在使用:
–module =服务器,JSP,部署,JMX资源,WebSocket的分机,再加上,注释
以下是我运行服务器时收到的详细消息:
2014-07-08 14:07:42.634:INFO::main: Logging initialized @512ms
2014-07-08 14:07:43.253:INFO:oejs.Server:main: jetty-9.2.1.v20140609
2014-07-08 14:07:43.306:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/u/khandela/cometD/logs_dev/webapps] at interval 1
2014-07-08 14:07:43.306:WARN:oejdp.ScanningAppProvider:main: Does not exist: file:/u/khandela/cometD/logs_dev/webapps
2014-07-08 14:07:43.450:INFO:oejs.AbstractNCSARequestLog:main: Opened /u/khandela/cometD/logs_dev/jetty-20140708.log
2014-07-08 14:07:43.468:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/u/khandela/cometD/webapps_dev/] at interval 1
2014-07-08 14:07:46.945:INFO:cometd:main: No Spring WebApplicationInitializer types detected on classpath
2014-07-08 14:07:47.332:INFO:cometd:main: Initializing Spring root WebApplicationContext
2014-07-08 14:07:48.696:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@6fd02e5{/cometd,file:/tmp/jetty-0.0.0.0-8107-cometd.war-_cometd-any-404202732061519131.dir/webapp/,AVAILABLE}{/u/khandela/cometD/webapps_dev/cometd.war}
2014-07-08 14:07:49.183:INFO:oejs.ServerConnector:main: Started ServerConnector@180bc464{HTTP/1.1}{0.0.0.0:8107}
2014-07-08 14:07:49.184:INFO:oejs.Server:main: Started @7083ms
谢谢,
Anuj
解决方法:
如果您在jetty.xml中配置org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern属性将会起作用.您可以在Jetty Documentation上找到有关此参数的更多信息:这是一个上下文属性,可以在org.eclipse.jetty.webapp.WebAppContext上设置,以控制应该为注释之类的事物处理容器的类路径的哪些部分.
<Call name="setAttribute">
<Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
<Arg>.*/foo-[^/]*\.jar$|.*/bar-[^/]*\.jar$|.*/bin/.*|.*/classes/.*|.*/target/.</Arg>
</Call>
标签:spring,jetty,jetty-9 来源: https://codeday.me/bug/20190629/1321144.html