我使用Jersey for Rest Services。我在WEB-INF / lib文件夹中添加了jersey-core,jersey-server jar,但tomcat没有部署WAR并指定以下异常:
java.lang.ClassNotFoundException:javax.ws.rs.ApplicationPath
请帮忙。感谢。
答案 0 :(得分:0)
泽西岛使用各种容器的概念来适应周围环境。通过这种方式,它可以在纯粹的http容器中运行,例如灰熊,或者像在你的情况下一样在servlet容器中运行。
为了使Jersey工作,您还需要添加jersey-servlet
依赖项:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
</dependency>
但是ClassNotFoundException
本身是由类路径上缺少JAX-RS API jar引起的:
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</dependency>
您似乎正在手动管理依赖项,这可能会变得相当具有挑战性。如果您不想(或不能)考虑使用某种工具为您(gradle,maven)执行此操作,我建议至少从相关的jersey模块中获取pom.xml
文件来探索相关性该模块确保不要忘记一些先决条件。
所有源代码都可以在github上找到,例如:请参阅containers pom。
希望这有帮助, 亚当