我在我的webapp A的web.xml
中定义了Jersey,但是ResourceConfig
和相关的类位于jar B中,在webapp A {{1}中被引用为依赖项文件。
因此,网络应用A的pom.xml
具有以下部分:
web.xml
在这种情况下<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.jar.b.CustomResourceConfig</param-value>
</init-param>
...
</servlet>
在jar B上。然后在webapp A上,CustomResourceConfig
文件列出了对jar B的依赖:
pom.xml
我可以毫无问题地从webapp A访问jar B中的类,因为它是一个依赖项。但是Jersey无法加载 <dependency>
<groupId>com.group</groupId>
<artifactId>com.jar.b</artifactId>
<version>1.0.0.0</version>
<scope>runtime</scope>
</dependency>
中配置的ResourceConfig
未找到类:
web.xml
我尝试使用Tomcat 7服务器从Eclipse运行此设置,但如果我将其直接部署到Tomcat中,它也会失败。我导出了战争并检查了jar位于WEB-INF / lib下的正确位置。
为什么泽西岛找不到那个班级?由于jar B是一个依赖项,因此Jersey在初始化时不应该访问它的类吗?
谢谢!