java – 从Spring创建war文件:在Eclipse中启动项目

我是Spring Boot的新手,我已经完成了一个在我的localhost上运行良好的应用程序.因为我被告知要在我的localhost之外部署它,例如webbhotel或simular,我需要将项目导出为war文件而不是jar文件.

UPDATE!
我将项目作为Spring Initialzr中生成的Springproject运行,并使用Eclipse作为IDE.

在Eclipse中,我遵循了这些步骤

<packaging>war</packaging>

<dependencies>
    <!-- … -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- … -->
</dependencies>

来自Spring Boot Referencepage
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file

在我的项目中,我使用

<dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>

我是否需要添加sprinng-boot-starter-tomcat依赖项并添加提供给tomcat-embed-jasper以及我的依赖项将是这样的?

<dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
     <dependency>
    <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

当我尝试在Eclipse中导出到war-file时,Eclipse无法找到我的项目.如果我尝试导出Java> JAR FILE,它可以找到它,但如果我尝试Web> WAR FILE则不会

有谁知道我做错了什么,是否有必要导出到WAR文件部署到外部服务器?

最佳答案
您需要在@SpringBootApplication中扩展**** SpringBootServletInitializer ****

您不需要为war文件生成添加**** sprinng-boot-starter-tomcat ****依赖项

enter image description here

在pom.xml中使用以下配置

<packaging>war</packaging>

为项目配置Build Path并选择JDK

右键单击项目>运行方式> Maven安装

它将在目标文件夹中生成war文件.

enter image description here

复制此战争并部署到任何Web /应用程序服务器(我已将其重命名为demo.war).

您可以使用主机名,后跟端口和应用名称来访问该应用.

enter image description here

转载注明原文:java – 从Spring创建war文件:在Eclipse中启动项目 - 代码日志