2017-02-02 22 views
1

私はtomcatを使ってjavaでwaffleを使用しようとしています。私はワッフル・フィルタ・デモを展開しようとすると:https://github.com/Waffle/waffle/tree/master/Source/JNA/waffle-demo/waffle-filterWaffle-filter-demoが動作しない

私は、Tomcatのログでこのエラーを取得:

02-Feb-2017 09:36:21.252 GRAVE [localhost-startStop-1] 

org.apache.catalina.core.StandardContext.filterStart Exception starting 

filter SecurityFilter 


java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/catalina/loader/ParallelWebappClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature 
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:418) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383) 
at waffle.servlet.NegotiateSecurityFilter.<clinit>(NegotiateSecurityFilter.java:55) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
at java.lang.Class.newInstance(Unknown Source) 
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119) 
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258) 
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) 
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4572) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) 
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952) 
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823) 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

そして、この:

02-Feb-2017 09:37:25.784 GRAVE [30] 

org.apache.catalina.core.StandardContext.filterStart Exception starting 

filter SecurityFilter 


java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/catalina/loader/ParallelWebappClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature 
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:418) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383) 
at waffle.servlet.NegotiateSecurityFilter.<clinit>(NegotiateSecurityFilter.java:55) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
at java.lang.Class.newInstance(Unknown Source) 
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119) 
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258) 
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) 
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4572) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1307) 
at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:669) 
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:217) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:591) 
at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:319) 
at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:88) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) 
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783) 
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434) 
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Unknown Source) 

答えて

0

私は解決策を見つけました!

  1. あなたの日食にwaffle_filter_demo.warをインポートします。
  2. ターゲットランタイムを使用するApache Tomcatバージョンに設定します。
  3. 新しい戦争を生成します。
  4. サーバーに展開します。