最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項目打包部署到Tomcat的操作流程

 更新時間:2023年08月30日 08:48:27   作者:酒後少女的夢  
在最近一個項目中,維護行里一個年代較為久遠的單體項目,需要將項目打包放到的tomcat服務器下運行,所以本文就給大家介紹一下SpringBoot項目打包部署到Tomcat的流程步驟,需要的朋友可以參考下

一、 文章背景

在最近一個項目中,維護行里一個年代較為久遠的單體項目,需要將項目打包放到的tomcat服務器下運行,因為畢業(yè)就很少接觸單體項目,在這里記錄一下。

二、 什么是tomcat

Tomcat是一個開源的Java Servlet容器,它實現(xiàn)了Java Servlet和JavaServer Pages(JSP)規(guī)范,用于支持在Java環(huán)境中運行Web應用程序。Tomcat是Apache軟件基金會的一個項目,它提供了一個可靠且高性能的服務器環(huán)境,用于部署和運行Java Web應用程序。Tomcat可以作為一個獨立的Web服務器運行,也可以與其他HTTP服務器(如Apache HTTP服務器)配合使用,以提供更強大的功能。

三、 什么是單體項目

單體項目是一種傳統(tǒng)的軟件架構(gòu)模式,它將一個完整的應用程序作為一個單一的、獨立的單元進行開發(fā)、部署和運行。在單體項目中,所有的功能模塊和業(yè)務邏輯都集中在一個應用程序中,通常使用單一的數(shù)據(jù)庫進行數(shù)據(jù)存儲。

在單體項目中,應用程序的不同模塊之間通過函數(shù)調(diào)用或者直接的方法調(diào)用進行通信。這種緊密耦合的架構(gòu)模式使得開發(fā)和測試相對簡單,但也存在一些問題。隨著應用程序的規(guī)模不斷增大,單體項目往往變得龐大且復雜,導致代碼難以維護和擴展。此外,由于所有的功能都集中在一個應用程序中,當某個模塊發(fā)生故障時,整個應用程序可能會受到影響。

隨著微服務架構(gòu)的興起,單體項目逐漸被拆分為多個小型、獨立的服務,每個服務負責一個特定的業(yè)務功能。這種架構(gòu)模式可以提供更好的可擴展性、可維護性和可靠性。

四、 什么是war包

WAR(Web Application Archive)是一種用于打包和部署Java Web應用程序的文件格式。它是一種特殊的JAR(Java Archive)文件,用于將Web應用程序的相關(guān)文件(如HTML、JSP、Java類、配置文件、靜態(tài)資源等)打包在一起。

WAR包是一種標準的部署格式,可以在Java Servlet容器中(如Tomcat、Jetty等)進行部署和運行。它提供了一種方便的方式來分發(fā)和部署Web應用程序,使得開發(fā)人員可以將應用程序打包成一個獨立的文件,然后將其部署到目標服務器上。

在部署WAR包時,Servlet容器會將其解壓并將其中的文件放置到適當?shù)奈恢?,然后啟動Web應用程序。通常,WAR包中的WEB-INF目錄包含了應用程序的配置文件、類文件和其他資源,而靜態(tài)資源(如HTML、CSS、JavaScript文件)通常位于WAR包的根目錄或者一個名為"webapp"的目錄下。

總而言之,WAR包是一種用于打包和部署Java Web應用程序的文件格式,方便了應用程序的分發(fā)和部署。

五、 war包和jar的區(qū)別

WAR包和JAR包是兩種不同的文件格式,用于打包和部署不同類型的Java應用程序。

  • 用途不同:WAR包主要用于打包和部署Java Web應用程序,而JAR包主要用于打包和分發(fā)Java應用程序的庫、組件或可執(zhí)行文件。
  • 目錄結(jié)構(gòu)不同:WAR包通常包含一個特定的目錄結(jié)構(gòu),其中包括WEB-INF目錄和靜態(tài)資源文件,用于部署Web應用程序。而JAR包沒有特定的目錄結(jié)構(gòu)要求,可以根據(jù)需要自由組織文件。
  • 部署方式不同:WAR包通常被部署到Java Servlet容器(如Tomcat、Jetty)中,用于運行Web應用程序。而JAR包可以直接運行,或者作為依賴項被其他Java應用程序引用。
  • 依賴管理不同:JAR包可以包含Java類和資源文件,用于共享和復用代碼。它們可以作為庫被其他應用程序引用,并通過構(gòu)建工具(如Maven、Gradle)進行依賴管理。而WAR包通常包含完整的Web應用程序,不會被其他應用程序直接引用。

總而言之,WAR包適用于打包和部署Java Web應用程序,具有特定的目錄結(jié)構(gòu)和部署方式。而JAR包適用于打包和分發(fā)Java應用程序的庫、組件或可執(zhí)行文件,可以作為依賴項被其他應用程序引用。

六、 SpringBoot打包成war包

要將Spring Boot項目打包為WAR(Web Application Archive)文件,您可以按照以下步驟進行操作:

  • 在您的Spring Boot項目的pom.xml文件中,將打包方式設置為war。在<packaging>標簽中添加以下內(nèi)容。
    <packaging>war</packaging>
  • 在pom.xml文件中將build節(jié)點中的finalName修改為server.context-path中的路徑。就是項目名稱。
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
    <!--打包后的項目名-->
    <finalName>order</finalName>
</build>
  • 在spring-boot-starter依賴中移除tomcat模塊。
<dependency>
?? ?<groupId>org.springframework.boot</groupId>
?? ?<artifactId>spring-boot-starter</artifactId>
?? ??? ?<exclusions>
?? ??? ??? ?<exclusion>
?? ??? ??? ??? ?<groupId>org.springframework.boot</groupId>
?? ??? ??? ??? ?<artifactId>spring-boot-starter-tomcat</artifactId>
?? ??? ??? ?</exclusion>
?? ??? ?</exclusions>
</dependency>
  • 添加servlet依賴。
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
</dependency>
  • 在您的Spring Boot項目的啟動類上,添加 extends SpringBootServletInitializer 并重寫 configure 方法。這將使您的項目能夠在Servlet容器中運行。示例代碼如下:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 @SpringBootApplication
public class YourApplication extends SpringBootServletInitializer {
     @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(YourApplication.class);
    }
     public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
}
  • 執(zhí)行Maven的打包命令,將項目打包為WAR文件。在命令行中,進入項目的根目錄,然后運行以下命令。這將在項目的 target 目錄下生成一個WAR文件。
    mvn clean package
  • 現(xiàn)在,您可以將生成的WAR文件部署到Servlet容器(如Tomcat)中運行。

  • 訪問服務。192.168.xxx.xxx:8080/order/doc.html

七、 配置tomcat支持https

要配置Tomcat支持HTTPS,您可以按照以下步驟進行操作:

  • 獲取SSL證書:您需要從可信任的證書頒發(fā)機構(gòu)(CA)或自簽名證書創(chuàng)建工具中獲取SSL證書和私鑰。通常,您會收到一個包含.crt和.key文件的證書文件。
  • 將證書和私鑰文件復制到Tomcat服務器上的某個目錄中,例如 /path/to/cert 。
  • 打開Tomcat的配置文件 server.xml ,該文件位于Tomcat安裝目錄的 conf 文件夾中。
  • server.xml 文件中,找到以下Connector配置(可能會有多個Connector配置):
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
  • 在該Connector配置的上方,添加一個新的Connector配置,用于HTTPS連接。示例如下:
<Connector port="8443" protocol="HTTP/1.1"
           SSLEnabled="true"
           maxThreads="150"
           scheme="https"
           secure="true"
           keystoreFile="/path/to/cert/your_certificate.crt"
           keystorePass="your_keystore_password"
           keystoreType="PKCS12" />

確保按照實際情況修改 keystoreFile 為您的證書文件路徑, keystorePass 為您的證書密碼, keystoreType 為證書類型(根據(jù)您的證書類型進行修改)。 6. 保存并關(guān)閉 server.xml 文件。 7. 啟動或重新啟動Tomcat服務器。

現(xiàn)在,Tomcat將在8443端口上啟動一個HTTPS連接,您可以使用https://localhost:8443 訪問您的應用程序。請確保在瀏覽器中信任您的證書,以避免安全警告。

八、 隱藏tomcat的版本信息

要隱藏Tomcat版本信息,您可以按照以下步驟進行操作:

  • 打開Tomcat的配置文件 server.xml ,該文件位于Tomcat安裝目錄的 conf 文件夾中。
  • server.xml 文件中,找到以下配置:
<Server port="8005" shutdown="SHUTDOWN">
  • 在該配置的上方,添加一個新的配置,用于隱藏版本信息。示例如下:
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  • 保存并關(guān)閉 server.xml 文件。
  • 啟動或重新啟動Tomcat服務器。

現(xiàn)在,Tomcat將不再在HTTP響應頭中顯示版本信息。請注意,這只會隱藏版本信息,但無法阻止有經(jīng)驗的用戶通過其他方式確定Tomcat的版本。

以上就是SpringBoot項目打包部署到Tomcat的操作流程的詳細內(nèi)容,更多關(guān)于SpringBoot項目打包到Tomcat的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 徹底搞定堆排序:二叉堆

    徹底搞定堆排序:二叉堆

    二叉堆有兩種:最大堆和最小堆。最大堆:父結(jié)點的鍵值總是大于或等于任何一個子節(jié)點的鍵值;最小堆:父結(jié)點的鍵值總是小于或等于任何一個子節(jié)點的鍵值
    2021-07-07
  • maven打包上傳到私有倉庫的實現(xiàn)步驟

    maven打包上傳到私有倉庫的實現(xiàn)步驟

    這篇文章主要介紹了maven打包上傳到私有倉庫的實現(xiàn)步驟,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 解決java.util.zip.ZipException: Not in GZIP format報錯問題

    解決java.util.zip.ZipException: Not in GZIP&nbs

    這篇文章主要介紹了解決java.util.zip.ZipException: Not in GZIP format報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • jstorm源碼解析之bolt異常處理方法

    jstorm源碼解析之bolt異常處理方法

    下面小編就為大家?guī)硪黄猨storm源碼解析之bolt異常處理方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java?MapStruct優(yōu)雅地實現(xiàn)對象轉(zhuǎn)換

    Java?MapStruct優(yōu)雅地實現(xiàn)對象轉(zhuǎn)換

    MapSturct?是一個生成類型安全,高性能且無依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實現(xiàn)對象轉(zhuǎn)換,下面就來和大家聊聊具體操作吧
    2023-06-06
  • java實現(xiàn)圖片格式轉(zhuǎn)換(PNG轉(zhuǎn)BMP)

    java實現(xiàn)圖片格式轉(zhuǎn)換(PNG轉(zhuǎn)BMP)

    隨著各類圖像格式廣泛應用,不同平臺與系統(tǒng)對圖片格式的兼容性需求不斷提升,下面小編就來和大家詳細介紹一下如何使用java實現(xiàn)PNG圖片格式轉(zhuǎn)為BMP圖片格式
    2025-06-06
  • 一文帶你徹底剖析Java中Synchronized原理

    一文帶你徹底剖析Java中Synchronized原理

    Synchronized是Java中的隱式鎖,它的獲取鎖和釋放鎖都是隱式的,完全交由JVM幫助我們操作,在了解Synchronized關(guān)鍵字之前,首先要學習的知識點就是Java的對象結(jié)構(gòu),本文介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • java實現(xiàn)簡單聊天軟件

    java實現(xiàn)簡單聊天軟件

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單的聊天軟件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • java教程之java繼承示例詳解

    java教程之java繼承示例詳解

    這篇文章主要介紹了java繼承示例詳解,需要的朋友可以參考下
    2014-04-04
  • spring?mvc?AOP切面方法未執(zhí)行的一種情況的分析和處理過程

    spring?mvc?AOP切面方法未執(zhí)行的一種情況的分析和處理過程

    這篇文章主要介紹了spring?mvc?AOP切面方法未執(zhí)行的一種情況的分析和處理,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論

慈溪市| 云林县| 鹤岗市| 巨鹿县| 江门市| 湘潭市| 孝感市| 云南省| 泗洪县| 平顺县| 西安市| 寿光市| 铜山县| 高台县| 逊克县| 视频| 日土县| 怀集县| 黎川县| 漠河县| 平安县| 偏关县| 和平县| 泸水县| 定远县| 临沭县| 喜德县| 会泽县| 遵义县| 合川市| 武隆县| 沙坪坝区| 北安市| 平舆县| 盐源县| 德令哈市| 通州市| 云阳县| 宁德市| 怀安县| 于田县|