如何使用Eclipse Kepler 4.3.1配置JAX-RS 2.0?

时间:2013-12-09 18:48:41

标签: jax-rs glassfish-4 eclipse-kepler

我无法将JAX-RS 2.0方面添加到Eclipse 4.3中。使用Glassfish 4.0的动态Web项目。我尝试了注意到here的方法,以及用"禁用库配置"填充参数的值。是:

JAX-RS servlet名称:JAX-RS Servlet
JAX-RS servlet类名:javax.ws.rs.core.Application
URL映射模式:/ jaxrs / *

保存没有任何问题。然后,当我回到项目属性时,我会弹出一个“#34;当前显示的页面包含无效值"”的弹出窗口。承认这一点,并进入JAX-RS方面页面,所有字段现在都是空的,而不是说"禁用库配置",类型说"未知库配置"。转到主Project Facets页面并尝试取消选中JAX-RS facet项会弹出一个弹出文件,说明卸载JAX-RS(REST Web Services)2.0时失败。原因:卸载JAX-RS(REST Web服务)2.0时失败。详细说明"卸载JAX-RS(REST Web服务)2.0时失败。 org.eclipse.jst.javaee.web.internal.impl.WebAppImpl无法强制转换为org.eclipse.jst.j2ee.webapplication.WebApp"

我将Eclipse更新为4.3.1并获得了相同的行为。这些字段在最初保存时没有任何警告就消失了,并且无法卸载JAX-RS方面,这让我相信我的Eclipse安装或项目文件有问题(虽然我试过几个项目和他们都表现相同)。

有人能指出我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我使用Jersey作为运行时,这就是我可以直接在web.xml中配置的方法。 我使用项目构面设置没有太多运气。 希望这可以帮助。 (更改下面的提供包参数以适合您的)

<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
  <param-name>jersey.config.server.provider.packages</param-name>
  <param-value>com.paypal.l10n.nextgen.extractor.rest</param-value>
</init-param>
<init-param>
 <param-name>unit:WidgetPU</param-name>
 <param-value>persistence/widget</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>