App下載

在java中怎么將SpringBoot應(yīng)用程序打包和部署成WAR文件?部署方法分享!

養(yǎng)了一個(gè)閑月亮 2021-09-03 09:48:28 瀏覽數(shù) (2020)
反饋

將基于 Maven 的 Spring Boot 應(yīng)用程序打包為 WAR 文件

要更改使用Spring Initializr或Vaadin Start工具生成的基于Maven的 Spring Boot 應(yīng)用程序中的打包,請?jiān)?pom.xml 文件中進(jìn)行以下更改:

1、修改<packaging>元素如下:

XML:

<packaging>war</packaging>

2. 如果您計(jì)劃部署到與 Apache Tomcat 不同的服務(wù)器,請執(zhí)行以下操作:

a) 將 Servlet API 依賴項(xiàng)添加到項(xiàng)目中。確保使用與您的項(xiàng)目匹配的版本。例如,在Vaadin應(yīng)用程序的情況下:

XML:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

b)如果您使用的是Spring MVC,spring-boot-starter-tomcat則從 中排除依賴項(xiàng),或者如果您使用的是Vaadin則從該依賴項(xiàng)中排除。例如:spring-boot-starter-web dependencyvaadin-spring-boot-starter

XML:

<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-spring-boot-starter</artifactId>
    <exclusions>
        ...
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

3. 可選:如果您想簡化 WAR 文件的名稱并始終構(gòu)建一個(gè)同名但沒有版本號的文件,請?jiān)谠?<build>?部分添加以下內(nèi)容:

XML:

<finalName>${project.artifactId}</finalName>

4. 通過運(yùn)行mvn package命令構(gòu)建和打包應(yīng)用程序。如果您使用 Vaadin,請啟用生產(chǎn)配置文件 ( mvn package -P production)。您可以在 Maven 項(xiàng)目內(nèi)的target/目錄中找到 WAR 文件。

將 WAR 文件部署到 Apache Tomcat

要將上一節(jié)中配置的應(yīng)用程序部署到 Apache Tomcat 的本地實(shí)例:

  1. 項(xiàng)目網(wǎng)站下載 Apache Tomcat 。確保下載正確的版本,具體取決于您的應(yīng)用程序使用的 Java 和 Servlet API 版本。例如,對于 Vaadin 應(yīng)用程序,下載 Apache Tomcat 版本 9。
  2. 提取下載的文件。
  3. 通過運(yùn)行可以在Apache Tomcat 安裝目錄內(nèi)的bin/目錄中找到的start.sh或start.bat腳本來啟動服務(wù)器。您可能必須向bin/目錄中的腳本文件添加執(zhí)行權(quán)限。例如,在類 Unix 操作系統(tǒng)中,運(yùn)行.chmod +x bin/*.sh
  4. 將 WAR 文件從Maven 項(xiàng)目內(nèi)的target/目錄復(fù)制到Apache Tomcat 安裝目錄內(nèi)的webapps/目錄。
  5. 該應(yīng)用程序應(yīng)自動部署并在http://localhost:8080/your-war-file-name 上提供。如果要部署到上下文的根 ( http://localhost:8080/ ),請使用 ROOT.war 。

將 WAR 文件部署到 Eclipse Jetty

要將先前配置的應(yīng)用程序部署到 Eclipse Jetty 的本地實(shí)例:

  1. 項(xiàng)目網(wǎng)站下載 Eclipse Jetty  。確保下載正確的版本,具體取決于您的應(yīng)用程序使用的 Java 和 Servlet API 版本。例如,對于 Vaadin 應(yīng)用程序,下載 Eclipse Jetty 9。
  2. 提取下載的文件。
  3. 如果您下載了 Eclipse Jetty 10,請通過java -jar start.jar --add-module=server,http,deploy在 Eclipse Jetty 安裝目錄中運(yùn)行來配置服務(wù)器。
  4. 通過在 Eclipse Jetty 安裝目錄內(nèi)的bin/目錄中運(yùn)行start.sh start 來啟動服務(wù)器。您可能必須通過運(yùn)行來為bin/目錄中的腳本文件添加執(zhí)行權(quán)限。chmod +x bin/*.sh
  5. 將 WAR 文件從Maven 項(xiàng)目內(nèi)的target/目錄復(fù)制到Eclipse Jetty 安裝目錄內(nèi)的web apps /目錄。
  6. 應(yīng)用程序應(yīng)自動部署并在此處可用。如果要部署到上下文 root ,請使用 root.war 。


0 人點(diǎn)贊