2012-04-04 40 views
9

我在學習寧靜的web服務,所有的教程都使用javax.ws.rs。*包。但在JDK 6和JDK 7中,我的eclipse似乎無法識別javax.ws包。我在這裏錯過了什麼?javax.ws.rs包

+0

您的classpath中是否有jsr311-api.jar? – tenorsax 2012-04-04 03:25:32

+0

添加jsr311-api.jar修復了問題。但是Java 6 API提到了這些類。不知道爲什麼我需要單獨添加它。 – user238021 2012-04-04 06:03:49

回答

2

javax.ws.rs不是JDK包;它是構成Java EE規範一部分的服務器端API。您需要在類路徑中包含Java EE運行時,或者如果要執行self-assembly路由(例如,使用Tomcat),請從第三方獲取實施。

+1

爲什麼jax-ws(基於Soap)隨JDK一起提供,但不包含jax-rs(基於Rest)? – Abidi 2014-02-18 16:14:21

+0

@Abidi我想這是因爲編寫REST客戶端比SOAP客戶端要容易得多,但我無法給出明確的答案。 – McDowell 2014-02-18 16:34:59

+0

有趣的是,jax-rs確實帶有Metro堆棧,而Metro則隨JDK6一起發貨。這意味着沒有完整的Metro堆棧隨JDK一起發貨。困惑! – Abidi 2014-02-18 16:43:19

2

您可能會錯過Jersey安裝,或者在您的環境配置中。試試還安裝Eclipse WPT。你可以按照這個tutorial,它也包括先決條件和基本的安裝程序。

+0

我將球衣安裝添加到classpath中。但澤西島沒有javax.ws.rs包。不應該在Java 6 SDK中包含javax.ws.rs包嗎?但它似乎不是。 – user238021 2012-04-04 06:00:03