java - Eclipse - 带有 Tomcat 的 Maven 项目收到 404 错误
问题描述
我上网查明为什么我会收到 404 我尝试了几乎所有解决方案但没有帮助。我有:
- 日食照片
- 雄猫 9
- Java 版本 1.8
- 使用 Jersey 2.27 的 Maven 项目
当我点击http://localhost:8080/Test/rest/testservice我得到 404 “描述源服务器没有找到目标资源的当前表示或不愿意透露存在的表示。”
POM.XML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Test</groupId>
<artifactId>com.test</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>com.test Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.27</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.27</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>2.27</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<finalName>com.test</finalName>
</build>
</project>
WEB.XML
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>Test Jersey Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.test</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Test Jersey Service </servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
项目结构和Java类
- 我还添加了部署程序集-> Maven 依赖项
解决方案
我解决了。因此,如果有人遇到 404 问题,即使您做的一切都是正确的,请仔细检查以下步骤:
进行任何类型的修改时,始终保存 (CTR + S) pom.xml 和 web.xml
用 index.html 替换 index.jsp
右键单击项目转到 Maven -> 更新项目
- 右键单击项目转到运行方式-> 在服务器上运行(如果我手动运行它不起作用,但是当我从运行中正常运行时)
我已经逐步创建了一个教程。如果有人要请联系我。
推荐阅读
- selenium - 何时进行 E2E 测试
- php - 如何根据另一个数组的数组索引获取数组值?
- python - 使用漂亮的汤从网页中搜索和查找结果
- charts - 如何在谷歌柱形图中显示水平参考线?
- powerbi - DAX Power BI 中 SWITCH 的替代方案
- string - 从 Pandas Dataframe 中的多列获取唯一字符串
- python - 使用 Python3 为步进电机正确嵌套循环
- reactjs - 如何在reactjs中重置表单和登录错误消息
- python - 为什么我得到 AttributeError:模块 'networkx' 没有属性 'average_neighbor_in_degree'?
- math - 三边测量 x 分量小于实际位置的一半