2013-09-27 34 views
0

我是REST API的新手,对Maven不太了解。我注意到大多数人在Jersey实现中使用REST。我需要编写POST请求,并且也可能需要GET请求。我很难找到Maven开始编码的正确 - 最低要求 - 依赖关系。REST API的Maven依赖关系 - Jersey - Glassfish还是不是?

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

1)我可以在Tomcat或Jboss上使用Jersey而不依赖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> 

难道这些是我所需要的?在新泽西州网站

二/三我发现不同的相关定义:

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> 

这是为什么?为什么我被提到不同的依赖关系?

任何帮助,非常感谢。

回答

-1

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

+1

谢谢西德。我开始使用http://aike.me/site/blog/20090914/restful_web-services_in_java_using_jax-rs_-_part_1_getting_up_and_running中提到的内容,但问题是为什么https://jersey.java.net是Jersey项目的主页,应该没有一个部分,就好像:“不使用Glassfish的Maven用户,使用这些依赖......”或类似的东西,并最大限度地减少混淆。它没有提到应该如何继续使用泽西州的Glassfish,以及他们应该如何在Jersey网站上配置Maven,这个地方你期望在第一个地方找到它。 – blueSky

+0

同意,我也觉得很奇怪。另外,com.sun - 这就像是一次小小的时间旅行,带我度过了JavaOne的快乐时光。我期待一个不同的包名称。 – JRun

1

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

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