0

我已经创建了一个包含一些 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 服务吗?

提前致谢。

4

1 回答 1

0

我从这篇文章中找到了答案:Jersey REST ResourceConfig 实例不包含任何根资源类

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

于 2015-05-16T15:37:43.473 回答