jetty NoSuchFieldError: MAX_INACTIVE_MINUTES
2019獨角獸企業重金招聘Python工程師標準>>>
jetty測試時,報異常 ?如下:
java.lang.reflect.InvocationTargetExceptionat?sun.reflect.NativeMethodAccessorImpl.invoke0(?Native?Method)at?sun.reflect.NativeMethodAccessorImpl.invoke(Unknown?Source)at?sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown?Source)at?java.lang.reflect.Method.invoke(Unknown?Source)at?org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:83)at?org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:70)at?org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:402?)at?org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1339)at?org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)at?org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:263)at?org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517?)at?org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)at?org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)at?org.eclipse.jetty.server.Server.start(?Server.java:405)at?org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)at?org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)at?org.eclipse.jetty.server.Server.doStart(Server.java:372?)at?org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)at?soc.main.SocMain.main(?SocMain.java:41) Caused?by:?java.lang.NoSuchFieldError:?MAX_INACTIVE_MINUTESat?org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitSessionConfig(StandardDescriptorProcessor.java:653)...?19?more即StandardDescriptorProcessor類里沒有MAX_INACTIVE_MINITES這一屬性。這一屬性引用的是jetty-server包下的AbstractSessionManager類里的該屬性。也就是說所依賴的jetty-server包下沒有該屬性。另外,
NoSuchFieldError及NoSuchMethodError多半是jar包的版本不對,于是查看 了下jetty相關jar包,如下:
????????????<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-webapp</artifactId><version>9.3.8.v20160314</version></dependency>……………………<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-servlet</artifactId><version>9.3.7.v20160115</version>?</dependency>可看出jetty-webapp和jetty-servlet是不同版本。而我的依賴里并沒有jetty-server包,那么肯定是至少其中一個包依賴了jetty-server包。查看下便知jetty-webapp依賴了jetty-servlet,而jetty-servlet依賴了jetty-security,而jetty-security又依賴了jetty-server包,而jetty-server 9.3.7版本的AbstractSessionManager里沒有MAX_INACTIVE_MINITES屬性,所以jetty-webapp 9.3.8版本下的StandardDescriptorProcessor類引用該屬性就會報這個異常。所以,只需將jetty-servlet的版本改成9.3.8或者jetty-webapp版本改為9.3.7,即讓再者版本一致。修改后的如下:
<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-webapp</artifactId><version>9.3.8.v20160314</version></dependency>……………………<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-servlet</artifactId><version>9.3.8.v20160314</version>?</dependency>
轉載于:https://my.oschina.net/u/2430057/blog/644167
總結
以上是生活随笔為你收集整理的jetty NoSuchFieldError: MAX_INACTIVE_MINUTES的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CDC,CPaintDC,CClient
- 下一篇: CENTOS 内存释放