2013-09-27 77 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服務器。

澤西島已成爲玻璃魚的一部分,這是包名改變的唯一原因。最新版本在這個軟件包下發布,並在澤西島網站上推薦,所以我會堅持使用最新的軟件包。