2017-07-19 7 views
1

は私がjava.lang.NoSuchMethodError:javax.ws.rs.core.Application.getProperties()Ljava/util/Map;

One Two Three

が続いて以下のリンクを介して答えを見つけることができません、私はまた私の~/.m2/repository/javax/ws/rs/javax.ws.rs-apiディレクトリが、それを介して行っている私のpom.xml依存

<dependencies> 
     <dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>aws-java-sdk</artifactId> 
      <version>1.11.41</version> 
     </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>io.jsonwebtoken</groupId> 
      <artifactId>jjwt</artifactId> 
      <version>0.2</version> 
      <type>jar</type> 
     </dependency> 

     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 

     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>6.0.2</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>javax.ws.rs-api</artifactId> 
      <version>2.0.1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <artifactId>jersey-container-servlet</artifactId> 
      <version>2.22</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/org.jvnet/mimepull --> 
     <dependency> 
      <groupId>org.jvnet</groupId> 
      <artifactId>mimepull</artifactId> 
      <version>1.6</version> 
     </dependency> 

     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-json-jackson</artifactId> 
      <version>2.22.1</version> 
      <scope>runtime</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.glassfish.jersey.core</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>2.22</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-common --> 
     <dependency> 
      <groupId>org.glassfish.jersey.core</groupId> 
      <artifactId>jersey-common</artifactId> 
      <version>2.22</version> 
     </dependency> 

     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-multipart</artifactId> 
      <version>2.22</version> 
     </dependency> 

     <dependency> 
      <groupId>com.googlecode.json-simple</groupId> 
      <artifactId>json-simple</artifactId> 
      <version>1.1.1</version> 
      <type>jar</type> 
     </dependency> 

     <dependency> 
      <groupId>redis.clients</groupId> 
      <artifactId>jedis</artifactId> 
      <version>2.9.0</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/io.searchbox/jest --> 
     <dependency> 
      <groupId>io.searchbox</groupId> 
      <artifactId>jest</artifactId> 
      <version>2.0.2</version> 
     </dependency> 


     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
      <type>jar</type> 
     </dependency> 

     <dependency> 
      <groupId>commons-io</groupId> 
      <artifactId>commons-io</artifactId> 
      <version>2.5</version> 
      <type>jar</type> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/commons-validator/commons-validator --> 
     <dependency> 
      <artifactId>commons-validator</artifactId> 
      <version>1.3.1</version> 
     </dependency> 

     <dependency> 
      <groupId>oro</groupId> 
      <artifactId>oro</artifactId> 
      <version>2.0.8</version> 
     </dependency> 

    </dependencies> 

です1つのディレクトリ2.0.1のみが含まれています。

私はこの問題を理解できません。私はTomcatの8

スタックトレース

19-Jul-2017 14:14:37.425 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized() 
19-Jul-2017 14:14:37.425 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized() 
19-Jul-2017 14:14:40.784 SEVERE [http-nio-8083-exec-5] org.apache.catalina.core.ApplicationContext.log StandardWrapper.Throwable 
java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map; 
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:331) 
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:390) 
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:172) 
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:364) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1241) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1044) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4944) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:455) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1493) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1432) 
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:884) 
    at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:335) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) 
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:748) 
+0

完了スタックトレース。 –

+0

〜/ .m2/repository/javax/ws/rs/javax.ws.rs-api'ディレクトリを削除してみてください。真の依存であってはなりません。 –

+0

私はそれを試しました、私はwsディレクトリを削除して、私のプロジェクトを再構築し、まだ私は同じ問題に直面している。 –

答えて

3

java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;

を使用してい

Application#getProperties()方法は、JAX-RS 2.0で導入されました。このエラーは、通常、JAX-RS 1.xとJAX-RS 2.xを混在させると発生します。

クラスパス上のJARを確認し、JAX-RS 1.x(およびJersey 1.x)に関連するすべてのものを削除します。

Mavenを使用したら、mvn dependency:treeを実行して、依存関係の状況を確認できます。


私はまた、いくつかの頭痛を引き起こす可能性がいくつかのことを参照してください。

  1. Tomcatの8のための正しいServlet API依存(provided範囲を忘れないでください)以下を参照してください。

    <dependency> 
        <groupId>javax.servlet</groupId> 
        <artifactId>javax.servlet-api</artifactId> 
        <version>3.1</version> 
        <scope>provided</scope> 
    </dependency> 
    
  2. すべてのJersey依存ファイルが同じバージョンを使用していることを確認してください。

  3. おそらく、javax.ws.rs-api,jersey-serverおよびjersey-commonの依存関係は必要ありません。

    • 使用jersey-container-servletjersey-media-json-jacksonjersey-media-multipart依存関係。

    • jersey-container-servlet依存性は推移的依存関係としてjavax.ws.rs-apijersey-serverjersey-commonを使用します。

  4. あなたの依存関係にはおそらく<type>jar</type>は必要ありません。