REST API的Maven依赖项 - Jersey - Glassfish与否?

时间:2013-09-27 21:25:42

标签: java rest maven glassfish jersey

我是REST API的新手,对Maven不熟悉。我注意到大多数人使用REST和Jersey实现。我需要编写POST请求,也可能还需要GET请求。我很难找到合适的 - 最低要求 - Maven开始编码的依赖关系。

我在线查看了很多资源。看起来Jersey带有Glassfish服务器。我在我的本地PC上安装了Tomcat,我将用它来开发REST和测试。我们在我们的生产服务器上运行Jboss,我的代码最终将部署到该服务器上。在我看来,不同的资源说不同的东西,或者我有机会得到它!

1)我可以将Jersey与Tomcat或Jboss一起使用而不依赖于Glassfish吗?

2)回到Maven依赖项;

我在这里找到了:

http://aike.me/site/blog/20090914/restful_web-services_in_java_using_jax-rs_-_part_1_getting_up_and_running

Maven: Getting Jersey into your project

<repositories>
    <repository>
        <id>maven2-repository.dev.java.net</id>
        <name>Java.net Repository for Maven</name>
        <url>http://download.java.net/maven/2/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-server</artifactId>
    <version>1.0.3.1</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.1.12</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>jsr311-api</artifactId>
    <version>1.0</version>
</dependency>
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.1</version>
    <scope>provided</scope>
</dependency>

这些都是我需要的吗?

泽西岛网站的B / c我发现了不同的依赖关系定义:

https://jersey.java.net/documentation/latest/modules-and-dependencies.html

我不会在这里复制和粘贴这些依赖项b / c它会使这篇文章很长。我没有看到任何这些依赖关系 - 在http://aike.me中提到:

https://jersey.java.net

如:

<artifactId>jersey-server</artifactId>

<artifactId>jaxb-impl</artifactId>

<artifactId>jsr311-api</artifactId>

<artifactId>jaxb-api</artifactId>

为什么?为什么我被引用到不同的依赖项?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

在组ID中使用“org.glassfish。*”的依赖关系并不意味着您必须使用Glassfish服务器。

泽西岛已成为玻璃鱼的一部分,这是包装名称发生变化的唯一原因。最新版本是在这个软件包下发布的,建议在Jersey网站上使用,所以我会坚持使用最新的软件包。

答案 1 :(得分:-1)

我为它创建了一个快速启动模板,随意分叉或克隆它。 Get it here