簡體   English   中英

您如何在Maven中將JAX-RS包含在Jersey中?

[英]How do you include JAX-RS with Jersey in Maven?

我正在關注有關Vogella的教程,該教程介紹如何與JAX-RS一起使用以創建RESTful Web應用程序。

我的麻煩是我無法通過Maven導入依賴項。 可能嗎?

當我嘗試按照此處的建議查找jsr311javax.ws.rs ,Maven似乎不知道它的存在。

Maven依賴JSR

如果您是從頭開始制作項目,最好讓maven使用Jersey提供的Maven原型之一為您生成項目(在Jersey入門頁面中有更多信息 ),然后可以輕松地將eclipse性質添加到使用以下命令生成的項目:

mvn eclipse:eclipse -Dwtpversion=2.0

選擇合適的Web工具版本 ,然后將該項目導入到Eclipse IDE中 這種方法,將離開你了poviding有關新澤西那些在原型描述符中已經提到任何相關性。

否則,如果您已經在開發一個項目,並且想要添加RESTful功能(由於您提到正在學習本教程,那么該功能就不成立了),則必須自己提供對Jersey的依賴關系。 所有依賴項都可以在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絕對沒有任何意義。

最終在這里找到了類似的問題。

通過手動在pom.xml下添加依賴項解決了該問題:

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

請嘗試以下操作:

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

在以下網址上找到它:( 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM