Jersey和Maven导致java.lang.NoSuchMethodError

Jersey和Maven导致java.lang.NoSuchMethodError,java,maven,javafx,jersey,Java,Maven,Javafx,Jersey,我刚刚开始使用Maven,希望将当前的JavaFX8FXML应用程序更改为与Maven一起使用。作为测试,我试图从运行在GlassFish3上的Web服务中检索国家列表 当我运行程序时,这会发生在我的FXML控制器中的initialize(): 如果我在浏览器中测试URI,它看起来很好,并且可以与凭据一起使用,但是会引发以下错误: ... Caused by: java.lang.NoSuchMethodError: javax.ws.rs.core.MultivaluedMap.addAll(

我刚刚开始使用Maven,希望将当前的JavaFX8FXML应用程序更改为与Maven一起使用。作为测试,我试图从运行在GlassFish3上的Web服务中检索国家列表

当我运行程序时,这会发生在我的FXML控制器中的
initialize()

如果我在浏览器中测试URI,它看起来很好,并且可以与凭据一起使用,但是会引发以下错误:

...
Caused by: java.lang.NoSuchMethodError: javax.ws.rs.core.MultivaluedMap.addAll(Ljava/lang/Object;[Ljava/lang/Object;)V
at org.glassfish.jersey.client.ClientRequest.accept(ClientRequest.java:335)
at org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:221)
at org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:59)
at DA.CountryClientSSL.findAll(CountryClientSSL.java:85)
...
我的pom.xml文件具有Jersey依赖项:

    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>2.21</version>
    </dependency>

看起来您的类路径上有一个JAX-RS 1.x依赖项,如您提到的问题中所述:


您可以运行mvn
dependency:tree
来打印项目的所有(可传递的)依赖项。然后检查在您真正想要的依赖项之前是否有其他依赖项或
javax.ws.rs
依赖项。

看起来您的类路径上有JAX-rs 1.x依赖项,如您提到的问题所述:


您可以运行mvn
dependency:tree
来打印项目的所有(可传递的)依赖项。然后检查在您真正想要的依赖项之前是否有其他依赖项或
javax.ws.rs
依赖项。

您的项目结构是什么样子的?没有什么特别的,只有正常的Maven结构您的项目结构是什么样子的?没有什么特别的,只有正常的Maven结构谢谢,dependency:tree命令进一步帮助了我。它确实是一个JAX-RS1.x依赖项,与JIRARESTJava客户端(doh)一起使用。它确实是一个JAX-RS1.x依赖项,用于JIRARESTJava客户机(doh)。
...
Caused by: java.lang.NoSuchMethodError: javax.ws.rs.core.MultivaluedMap.addAll(Ljava/lang/Object;[Ljava/lang/Object;)V
at org.glassfish.jersey.client.ClientRequest.accept(ClientRequest.java:335)
at org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:221)
at org.glassfish.jersey.client.JerseyWebTarget.request(JerseyWebTarget.java:59)
at DA.CountryClientSSL.findAll(CountryClientSSL.java:85)
...
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>2.21</version>
    </dependency>
src
 |-main
     |-java
          |-classes
          |-DA
          |-GUI (the controllers, still have to rename this)
     |-resources
          |-bundles
          |-fxml
          |-images
          |-jnlp
          |-styles
target
pom.xml