从 Eclipse 中的 Spring:boot 项目创建 war 文件

新手上路,请多包涵

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

更新!!我将项目作为在 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 参考 页面 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 依赖项并添加 provided 以及 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 文件时,Eclipse 找不到我的项目。如果我尝试导出 Java>JAR FILE,它可以找到它,但如果我尝试导出 Web>WAR FILE,它就找不到

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

原文由 bajen micke 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 607
2 个回答

您需要在 @SpringBootApplication 中扩展 ****SpringBootServletInitializer****

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

在此处输入图像描述

在 pom.xml 中使用以下配置

<packaging>war</packaging>

为您的项目配置构建路径并选择 JDK

右键单击项目> Run As > Maven Install

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

在此处输入图像描述

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

您可以使用您的主机名后跟端口和应用程序名称来访问该应用程序。

在此处输入图像描述

原文由 Neeraj Benjwal 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 STS (Spring Tools Suite) 中生成 WAR 文件:Run as-> Maven Install

原文由 NELSON RODRIGUEZ 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题