我已经创建了一个带有一些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服务?
提前致谢。
答案 0 :(得分:0)
我在这篇文章中找到了答案:Jersey REST The ResourceConfig instance does not contain any root resource classes
PackagesResourceConfig类依赖于具有包名称的目录,以便在其中查找类。我回到了Eclipse,在“导出...&gt; Jar”对话框的底部找到了一个选项,用于“添加目录条目。”我打开了它,再次导出jar,然后扫描找到我的资源类。您需要在构建环境中找到一些类似的选项。