有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Maven中将JAXR与Jersey结合起来?

我正在学习Vogella的教程,学习如何使用JAX-RS创建RESTful web应用程序

我的问题是,我无法通过Maven导入依赖项。可能吗

当我尝试按建议查找herejavax.ws.rs时,Maven似乎并不知道它的存在

Maven Dependency JSR


共 (4) 个答案

  1. # 1 楼答案

    请尝试以下操作:

    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
        <version>1.1.1</version>
        <scope>compile</scope>
    </dependency>
    
  2. # 2 楼答案

    最后发现了一个类似的问题here

    通过在pom.xml下手动添加依赖项解决了此问题:

    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
        <version>1.1.1</version>
        <scope>provided</scope>
    </dependency>
    
  3. # 3 楼答案

    关于:(http://mvnrepository.com/artifact/org.glassfish.jersey.archetypes/project/2.22.1) 它将在卡拉赫发挥作用;D

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-json</artifactId>
            <version>1.19</version>
        </dependency>
    
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
            <version>1.19</version>
        </dependency>
    
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-server</artifactId>
            <version>2.22.1</version>
        </dependency>
    
  4. # 4 楼答案

    如果您是从头开始编写项目,最好让maven使用Jersey提供的maven原型为您生成项目(详见Jersey getting-started page),然后您可以使用以下命令轻松地将eclipse特性添加到生成的项目中:

    mvn eclipse:eclipse -Dwtpversion=2.0
    

    选择合适的Web工具版本,然后将该项目导入您的EclipseIDE。 此方法将使您不必提供与Jersey相关的任何依赖项,因为在原型描述符中已经提到了这些依赖项

    否则,如果您已经在处理一个项目,并且希望添加RESTful特性(因为您提到您正在学习教程,所以假设不是这样),那么您必须自己提供对Jersey的依赖关系。所有依赖项都可以找到in Maven Central Repo,但您只需要jersey-server一个:

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.18.1</version>
    </dependency>
    

    正如@Gimby所说的,仅仅声明jsr311-api是毫无意义的,除非您打算提供一个JSR实现:)