【问题标题】:javax.ws.rs packagejavax.ws.rs 包
【发布时间】:2012-04-04 03:19:42
【问题描述】:

我正在学习 RESTful Web 服务,所有教程都使用 javax.ws.rs.* 包。但是对于 JDK 6 和 JDK 7,我的 Eclipse 似乎无法识别 javax.ws 包。我在这里错过了什么?

【问题讨论】:

  • 你的类路径中有 jsr311-api.jar 吗?
  • 添加 jsr311-api.jar 解决了这个问题。但是 java 6 API 提到了这些类。不知道为什么我需要单独添加它。

标签: java rest web-services jakarta-ee jax-rs


【解决方案1】:

javax.ws.rs 不是 JDK 包;它是构成 Java EE 规范一部分的服务器端 API。如果要使用 self-assembly 路由(例如使用 Tomcat),则需要在类路径中包含 Java EE 运行时或从第 3 方获取实现。

【讨论】:

  • 为什么 jax-ws(基于 Soap)随 JDK 而不是 jax-rs(基于 Rest)?
  • @Abidi 我猜这是因为编写 REST 客户端比编写 SOAP 客户端要容易得多,但我无法给出明确的答案。
  • 有趣的是,jax-rs 确实带有 Metro 堆栈,而 Metro 带有 JDK6。这意味着没有完整的 Metro 堆栈随 JDK 一起提供。困惑!
  • @Abidi 我不认为Metro 是 JAX-RS 实现。我相信Jersey 是 JAX-RS 参考实现。
【解决方案2】:

您可能缺少Jersey 安装,或您的环境配置中的某些内容。也尝试安装Eclipse WPT。您可以关注此tutorial,它还涵盖了先决条件和基本安装过程。

【讨论】:

  • 我将球衣安装添加到类路径中。但是泽西岛没有 javax.ws.rs 包。 javax.ws.rs 包不应该在 Java 6 SDK 中吗?但似乎不是。
猜你喜欢
  • 2012-06-07
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
  • 2015-03-11
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多