你如何在Maven中包括JAX-RS和Jersey?

时间:2014-09-01 19:44:08

标签: java eclipse maven jersey

我正在关注如何使用JAX-RS创建RESTful Web应用程序的Vogella教程。

我遇到的麻烦是我无法通过Maven导入依赖项。有可能吗?

当我尝试按照建议here查找jsr311javax.ws.rs时,Maven似乎不知道它存在。

Maven Dependency JSR

4 个答案:

答案 0 :(得分:2)

如果您从头开始设计项目,最好让maven为您使用 Jersey 提供的 Maven Archetypes 生成项目(更多信息) Jersey getting-started page)然后您可以使用以下命令轻松地将eclipse性质添加到生成的项目中:

mvn eclipse:eclipse -Dwtpversion=2.0

选择合适的Web Tool版本,然后将该项目导入 Eclipse IDE 。 这种方法将使您无法提供与 Jersey 相关的任何依赖项,因为这些依赖项已在原型描述符中提及。

否则,如果您已经在处理项目并且想要添加RESTful功能(由于您提到您正在学习教程,因此假定这是不正确的),您必须提供 Jersey <的依赖项/ em>你自己。可以找到所有依赖项in Maven Central Repo,但您只需要jersey-server一个:

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

正如@Gimby所说,只有在你打算提供JSR实现的情况下,单独声明jsr311-api是绝对没有意义的。)

答案 1 :(得分:0)

结束找到类似的问题here

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

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

答案 2 :(得分:0)

请尝试以下操作:

<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>jsr311-api</artifactId>
    <version>1.1.1</version>
    <scope>compile</scope>
</dependency>

答案 3 :(得分:0)

开始:( http://mvnrepository.com/artifact/org.glassfish.jersey.archetypes/project/2.22.1) 它将工作inchalahh; 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>