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>
上一篇:Springboot以Jetty为容器实现http重定向到https


下一篇:java – 嵌入式jetty中的异步servlet似乎在高负载时写入错误的响应