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

在Tomcat api中部署war文件后不工作

韦知
2023-03-14

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

如何构建war文件:

  • 运行mvn“clean install”;
  • 将war文件粘贴到本地Tomcat目录“webapps”;
  • 等待部署
  • 转到“http://localhost:8080/web_importer/#/importpendates”。但是现在,当我在Eclipse中运行我的应用程序时,我使用了另一个路径:“http://localhost:8080/#/importpendates”,API使用这个路径(例如)到“http://localhost:8080/API/originator”,而不是“http://localhost:8080/web_importer/API/originator”。
server.port = 8080
management.server.port: 8995
management.server.address: 127.0.0.1
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=100MB
spring.http.encoding.force=true
@RequestMapping(value = "/api/originator", method = RequestMethod.GET)
public List<OriginatorModel> retrieveOriginators() {
    logger.info("Performing /api/originator GET request");
    return originatorService.retrieveOriginators();
}
    <groupId>com.kddb_web_importer</groupId>
    <artifactId>web_importer</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>web_importer</name>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
    </parent>    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>   
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>           
        </dependency>           
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>         
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>            
        </plugins>
    </build>

共有1个答案

楚方伟
2023-03-14

当您从Eclipse启动应用程序时,它使用一个独立的服务器,可以通过localhost直接访问该服务器,URL是http://localhost:8080/api/originator。

运行本地tomcat实例时,http://localhost:8080是基本tomcat URL。接下来是应用程序的名称,在本例中是web_importer。因此URL变为http://localhost:8080/web_importer/api/originator,这就是为什么找不到404的原因。

您的前端似乎在直接调用http://localhost:8080/API/originator的API。当您希望使用API的Tomcat部署版本时,您需要在前端配置中更改基本API URL。

 类似资料:
  • 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

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

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

  • 我正在尝试使用EC2服务器在Tomcat7中部署Vaadin7文件。我将文件上载到,但当我转到时,它找不到资源。 知道为什么吗? 谢谢!

  • 我试图将WAR文件加载到Tomcat 7中,并使用eclipse启动或停止服务器。 我将war文件粘贴到TOMCAT_HOME/webapps文件夹中,启动了服务器。 服务器启动正常,我收到下面的控制台消息。 但当我试图访问我的应用程序时,它给了我错误404,找不到文件。 我查看了TOMCAT_HOME/webapps应用程序,发现了我的war文件和一个同名文件夹——“JavaServerFace

  • 我一直在尝试创建一个WAR文件并将其部署到Tomcat服务器上。如果我在Tomcat服务器上运行IntelliJ中的WAR文件,它就会工作。 为了使事情尽可能简单,我遵循了这个教程(https://www.baeldung.com/spring-boot-war-tomcat-deploy),甚至那个也不起作用。部署war文件时,我仍然会遇到同样的404错误。教程应用程序在IntelliJ中运行,