当前位置: 首页 > 知识库问答 >
问题:

部署在IntelliJ中工作的war文件时使用Tomcat 404

虞安康
2023-03-14

我一直在尝试创建一个WAR文件并将其部署到Tomcat服务器上。如果我在Tomcat服务器上运行IntelliJ中的WAR文件,它就会工作。

为了使事情尽可能简单,我遵循了这个教程(https://www.baeldung.com/spring-boot-war-tomcat-deploy),甚至那个也不起作用。部署war文件时,我仍然会遇到同样的404错误。教程应用程序在IntelliJ中运行,就像我的主要项目一样。我是相当新的,尝试了很多东西都没有用:

>

  • 试图在pom中设定路线战。xml文件,清理maven,并使用目标文件夹中生成的war文件进行Tomcat服务器部署,或在官方网站(https://www.jetbrains.com/help/idea/deploying-a-web-app-into-an-app-server-container.html)然后试着运行它。

    尝试了不同的URL,但都抛出404错误(除了默认的Tomcat页面,如 /manager)

    在应用程序中设置其他路径。属性文件(server.servlet.context路径=/test)

    尝试了另一台计算机

    错误:

    我可能犯了什么新手错误?

    我的pom:

    <?xml version="1.0" encoding="UTF-8"?>
    

    https://maven.apache.org/xsd/maven-4.0.0.xsd"

    <properties>
        <java.version>1.8</java.version>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    

    我的控制器:

    @RestController
    

    公共类TomcatController{

    @GetMapping("/hello")
    public Collection<String> sayHello() {
        return IntStream.range(0, 10)
                .mapToObj(i -> "Hello number " + i)
                .collect(Collectors.toList());
    }
    

    }

    主要应用:

    @SpringBootApplication公共类TomcatTest2Application扩展了SpringBootServletializer{

    public static void main(String[] args) {
        SpringApplication.run(TomcatTest2Application.class, args);
    }
    

    }

    提前谢谢你艾丽克丝

  • 共有1个答案

    凤衡
    2023-03-14

    我通过更改tomcat版本解决了类似的问题。我的war文件在Tomcat 10上得到404,我用Tomcat 9解决了这个问题。

     类似资料:
    • 我正在尝试部署应用程序在我的本地tomcat,但有一些问题。我使用:Tomcat9、Spring boot、ReactJS和WebPack。当我运行embedded Tomcat(在Eclipse中)时,所有的OK-API工作良好,但是当我构建war文件并将其粘贴到本地Tomcat-API不工作时,所有的请求都失败了。 如何构建war文件: 运行mvn“clean install”; 将war文件

    • 5.使用cmd重新启动tomcat。 “信息:部署web应用程序目录C:\apache-tomcat-7.0.77\webapps\MyProject Jun 07,2017 4:50:19 PM org.apache.catalina.startup.hostconfig deployDirectory信息:web应用程序目录C:\apache-tomcat-7.0.77\webapps\MyP

    • 我正在考虑用docker容器来设置我的开发,因为我目前正在windows上工作,我的设置现在如下所示: > 包含已启动并已运行的jboss的docker映像 hg repo签出在我的windows文件系统中,该文件系统导入到IntelliJ中 > 使用maven重新生成jar,并将其复制到$the_shared_folder/mywar.war/web-inf/lib/ 触摸文件mywar.war

    • 当我尝试在jboss server 7.0中部署war文件时,它显示以下错误。请告知。 异常日志:

    • 在Tomcat中手动部署WAR文件 关于如何在internet上的Tomcat中部署war文件,有很多例子,但它只展示了如何在根目录中部署war文件。如果我想让我的应用程序所在的子目录名为“myfolder”,该怎么办。所以我的网址:https://localhost:8080/myfolder/index.html.我需要在webapps中创建一个名为“myfolder”的文件夹,并在那里部署我