Eclipse - проект Maven с Tomcat получает ошибку 404 - PullRequest
0 голосов
/ 12 февраля 2019

Я захожу в Интернет, чтобы понять, почему я получаю 404, я перепробовал почти все решения и не помог.У меня есть:

  1. Eclipse Photom
  2. Tomcat 9
  3. Java версия 1.8
  4. Maven проект с использованием Джерси 2.27

Когда я нажимаю 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

PROJECT STRUCTURE AND JAVA CLASS

  1. Я добавил в сборку развертывания -> Maven Dependencies также

1 Ответ

0 голосов
/ 13 февраля 2019

Я решил это.Поэтому, если у кого-то возникают проблемы с 404, даже если вы все сделали правильно, дважды проверьте следующие шаги:

  1. Всегда сохраняйте (CTR + S) pom.xml и web.xml при выполнениилюбые изменения

  2. Замените index.jsp на index.html

  3. Щелкните правой кнопкой мыши проект, перейдите в Maven -> Обновить проект

  4. Щелкните правой кнопкой мыши проект, перейдите в «Запуск от имени» -> «Выполнить на сервере» (если я запускаю его вручную, он не работает, но при переходе из режима запуска он работает правильно)

Я создал учебник с пошаговыми инструкциями.Если кто-то хочет, пожалуйста, свяжитесь со мной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...