我正在开发一个简单的应用程序,它使用Jersey作为框架来构建API,使用Jackson来处理JSON。
当我部署应用程序时,通过复制&粘贴在webapps / ,我可以看到我的index.jsp。虽然我创建的资源不可访问,但它始终显示404页面。没有显示错误,而不是catalina的事件。*日志文件。
我非常确定问题不在于java代码,因为它曾经使用* .jar包含方法。但我已经厌倦了这一点,并希望将其迁移到maven架构。
我不会发布我的整个代码,但you can see it here。
为了简化操作,下面是我使用的依赖项列表:
什么可能导致此错误?我没有什么可以遵循,没有堆栈跟踪,没有错误消息,没有。难道是缺乏一些依赖吗?
答案 0 :(得分:1)
jersey-json
。那是1.x而且会搞砸你您需要的不仅仅是jersey-server
。您还需要
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.25.1</version>
</dependency>
你应该摆脱你的web.xml。您的@ApplicationPath
配置注释不需要它。您还在web.xml中使用了非常旧的架构版本。我不知道这是否会让你感到困惑。最好除了完全删除web.xml,除非你能找到更新的文件头。
答案 1 :(得分:0)
不太确定,但尝试将servlet添加到web.xml中, 自从我上次使用球衣后,我发现与服务器进行通信是必要的
例如,这是我添加到web.xml
的内容 <servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>"PACKAGE WHERE DO YOU HAVE YOUR CLASS"</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
请注意我正在使用Glassfish服务器而不是Tomcat(在“servlet-class”中),但是这个migth给你和想法 我真的希望这可以帮到你:)