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

我的未来我决定 提交于 2019-11-30 18:17:58

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

The Application#getProperties() method was introduced in JAX-RS 2.0. And this error typically happens when you mix JAX-RS 1.x and JAX-RS 2.x.

So check the JARs on your classpath and remove everything that relates to JAX-RS 1.x (and Jersey 1.x).

Once you are using Maven, you can run mvn dependency:tree and check what's going on with your dependencies.


I also see a few things that may cause some headaches:

  1. See below the correct Servlet API dependency for Tomcat 8 (don't forget the provided scope):

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1</version>
        <scope>provided</scope>
    </dependency>
    
  2. Ensure that all Jersey dependencies use the same version.

  3. You probably don't need the javax.ws.rs-api, jersey-server and jersey-common dependencies.

    • Use jersey-container-servlet, jersey-media-json-jackson and jersey-media-multipart dependencies.

    • The jersey-container-servlet dependency uses javax.ws.rs-api, jersey-server and jersey-common as transitive dependencies.

  4. You probably don't need <type>jar</type> in your dependencies.

It can be solved by excluding the jar as defined below, as JSR jar is conflicting with JAX-RS and creating the above error

<dependency>
 <groupId>javax.ws.rs</groupId>
 <artifactId>jsr311-api</artifactId>
 <version>1.1</version>
 <scope>provided</scope>
</dependency>

Please remove it and run, it worked for me and i hope it will work for u too.

I agree with Cassio. There are a couple of things I would add:

  • The dependency for me existed in jersey-core.
  • I could only see the hierarchal dependency in mvn dependency:tree. I may have missed it, but it was not showing up in the Eclipse hierarchy tree view.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!