【问题标题】:Deploy Jersey web services in referenced .jar在引用的 .jar 中部署 Jersey Web 服务
【发布时间】:2013-09-05 06:44:30
【问题描述】:

我已经创建了一个包含一些 Jersey Web 服务的 .jar,我想将该 .jar 导入到其他项目中。这些 Web 服务就像本地代码与远程服务提供者链接的处理程序/代理一样工作。

所以,我将.jar文件导入到一个项目中,并像这样配置web.xml

<servlet>
  <servlet-name>Services</servlet-name>
  <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
  <init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>com.package.for.services.in.current.project, com.package.for.services.in.jar</param-value>
  </init-param>
</servlet>
<servlet-mapping>
  <servlet-name>Services</servlet-name>
  <url-pattern>/s/*</url-pattern>
</servlet-mapping>

但是当我运行项目时,com.package.for.services.in.jar 中指定的 Web 服务找不到。

.jar 文件位于构建路径中。我究竟做错了什么?不能从外部库运行 Web 服务吗?

提前致谢。

【问题讨论】:

  • 你在哪里放置包含球衣类的 jar,在你的 web 容器中?
  • .jar 在 WEB-INF/lib 中,然后添加到项目的构建路径中。
  • 你可以在服务器上检查它是否在WEB-INF/lib中
  • 我正在尝试做同样的事情。我不想每次都部署战争。我可以重新启动服务器并部署 jar 文件

标签: java eclipse web-services jar jersey


【解决方案1】:

我从这篇文章中找到了答案:Jersey REST The ResourceConfig instance does not contain any root resource classes

PackagesResourceConfig 类依赖于具有包名的目录,以便在其中找到类。我回到 Eclipse,在 "Export ...> Jar" 对话框的底部找到了一个用于 "Add directory entries" 的选项。我打开了它,再次导出jar,然后扫描找到了我的资源类。您需要在构建环境中找到一些类似的选项。

【讨论】:

    猜你喜欢
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    相关资源
    最近更新 更多