欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java項目打包部署之部署jar包和war包

 更新時間:2023年12月22日 11:08:20   作者:努力,努力,在努力!  
我們在開發(fā)環(huán)境部署項目一般通過ideal將項目打包成包,然后連接linux服務(wù)器,這篇文章主要給大家介紹了關(guān)于Java項目打包部署之部署jar包和war包的相關(guān)資料,需要的朋友可以參考下

一、概述:

本文將介紹將Java項目部署到Linux服務(wù)器上的步驟。首先,你需要了解服務(wù)器的基本知識和安裝Java環(huán)境的方法。然后,我們就jar包和war包兩種應(yīng)用部署到Linux服務(wù)器上來進(jìn)行講解,包括如何將應(yīng)用程序上傳到服務(wù)器,如何配置服務(wù)器,以及如何啟動和停止應(yīng)用程序。

二、安裝Java環(huán)境

在Linux服務(wù)器上安裝Java環(huán)境是第一步。Java是一種跨平臺的編程語言,因此可以在多種操作系統(tǒng)上運(yùn)行。在Linux服務(wù)器上安裝Java環(huán)境非常簡單,只需使用類似于apt-get或yum等命令行工具,通過命令安裝即可。

以下是在CentOS上安裝Java的命令:

1.查找當(dāng)前可以下載的jdk的版本

yum search java|grep jdk

2.執(zhí)行安裝命令

yum install java-1.8.0-openjdk

確保Java已安裝正確,通過以下命令檢查Java版本:

java -version

三、安裝Tomcat(war包需要)

將war項目部署到Linux服務(wù)器上后,需要配置服務(wù)器以運(yùn)行Java應(yīng)用程序。需要安裝Tomcat或Jetty等Web服務(wù)器來部署Java應(yīng)用程序。這些Web服務(wù)器可以從官方網(wǎng)站或代碼庫中下載。例如,要安裝Tomcat,請按照以下步驟操作:

在官方Tomcat網(wǎng)站上下載Tomcat .

解壓縮Tomcat到您的Linux服務(wù)器上,路徑為/opt/tomcat/latest。

設(shè)置環(huán)境變量,以便Tomcat可以使用Java 8。將以下代碼添加到您的.bashrc文件中:

export JAVA_HOME=/usr/
export CATALINA_HOME=/opt/tomcat/latest
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

這里linux配置Tomcat并沒有寫的太詳細(xì),如果有些覺得不太懂得, 可以搜一下詳細(xì)的linux下安裝Tomcat的教程

四、部署 jar 包

1. 打包 jar 包

在項目根目錄下執(zhí)行以下 Maven 命令打包 jar 包:

mvn clean package

在 target 目錄下生成 jar 包。

2. 將 jar 包上傳到 Linux 服務(wù)器

上傳Java項目到服務(wù)器是準(zhǔn)備要執(zhí)行的下一步。通??梢允褂肍TP等文件傳輸工具將Java項目上傳到服務(wù)器。如果使用Windows操作系統(tǒng),則可以使用Xftp客戶端等工具,將Java項目上傳到Linux服務(wù)器上。

如果您想從Linux本地終端上傳Java項目,在Linux本地終端中使用rsync命令即可。以下是一個例:

rsync -avz -e ssh /path/to/local/java/project/ user@remote.server:/path/to/remote/java/project/

替換/path/to/local/java/project/和/path/to/remote/java/project/路徑,使用自己的路徑。

注意: 通常我們每次打包新上線的時候, 會把當(dāng)前正在運(yùn)行的包停掉但是保存著,上傳時千萬不要直接覆蓋! 啟動新的包后也不要立即刪除了之前的包! 不然你會后悔的。。。

3. 運(yùn)行 jar 包

運(yùn)行時按一下幾個步驟:

  • 進(jìn)入jar包所在目錄
cd /../..
  • 查詢所有進(jìn)程,找到項目端口號對應(yīng)的PID
netstat -ntpl

假設(shè)找到的項目的PID為: 8548

  • 執(zhí)行殺進(jìn)程命令(8548為PID)
kill -9 8548
  • 再次執(zhí)行查詢命令,沒有項目端口,表示殺死進(jìn)程成功
netstat -ntpl
  • 執(zhí)行啟動jar包命令
nohup java -jar 項目包.jar >> 日志.log &
  • 日志中顯示啟動完畢后退出日志 執(zhí)行查看進(jìn)程命令
netstat -ntpl
  • 查看實(shí)施日志
    tail -f 日志.log

五、部署 war 包

1.上傳war包

前面咱們已經(jīng)安裝了Tomcat, 并且介紹了怎么去打包怎么把本地的jar包上傳到linux服務(wù)器上,實(shí)際上部署war包的方式和部署jar包的方式區(qū)別并不大,前面都是打包 然后上傳war包,只不過war包需要上傳到Tomcat 的 webapps 目錄下,這個是固定的

打包: mvn clean package

2. 部署 war 包

  • 停掉當(dāng)前正在運(yùn)行的Tomcat服務(wù)器
/../tomcat/latest/bin/shutdown.sh
  • 停掉Tomcat之后查詢項目端口, 看是否停止成功
netstat -ntpl
  • 刪除tomcat的webapps目錄下的文件及文件夾

  • 將打好包的war包上傳到webapps 目錄下

  • 啟動 Tomcat。

/../tomcat/bin/startup.sh
  • 執(zhí)行查看進(jìn)程命令
netstat -ntpl
  • 查看實(shí)施日志
    tail -f 日志.log

六、jar 包和 war 包的優(yōu)缺點(diǎn)

  • jar 包的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

  • jar 包比較簡單,可以在命令行上直接運(yùn)行。
  • jar 包非常適合用于獨(dú)立的 Java 應(yīng)用程序。

缺點(diǎn):

  • jar 包不支持 Web 應(yīng)用程序。如果要部署 Web 應(yīng)用程序,需要使用 war 包。
  • jar 包沒有標(biāo)準(zhǔn)的 Web 部署方式,需要手動編寫啟動腳本。
  • war 包的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

  • war 包是用于部署 Web 應(yīng)用程序的標(biāo)準(zhǔn)方式。
  • war 包可以自動安裝配置。

缺點(diǎn):

  • 部署和配置 war 包相對 jar 包來說比較復(fù)雜。
  • 如果還沒有安裝 Java 應(yīng)用程序,需要額外安裝 Tomcat 等服務(wù)器。

七、總結(jié)一哈

對于 Java 項目的打包和部署操作,我們建議使用 Maven 進(jìn)行管理,特別是 Maven 插件 shade 和 war。使用這些插件可以非常方便地打包和部署項目。在使用時要注意依賴庫的版本兼容。

在部署 jar 包時,可以將啟動命令寫入 shell 腳本,方便管理。在部署 war 包時,我們建議使用自動化配置工具 Jenkins ,可以方便地部署和管理多臺服務(wù)器上的應(yīng)用程序。

總之,選擇合適的打包腳本插件和部署工具,可以為 Java 項目的打包和部署操作帶來更高效和方便的體驗(yàn)。

到此這篇關(guān)于Java項目打包部署之部署jar包和war包的文章就介紹到這了,更多相關(guān)部署jar包和war包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaWeb頁面中防止點(diǎn)擊Backspace網(wǎng)頁后退情況

    JavaWeb頁面中防止點(diǎn)擊Backspace網(wǎng)頁后退情況

    當(dāng)鍵盤敲下后退鍵(Backspace)后怎么防止網(wǎng)頁后退情況呢?今天小編通過本文給大家詳細(xì)介紹下,感興趣的朋友一起看看吧
    2016-11-11
  • SpringBoot全局異常處理方式

    SpringBoot全局異常處理方式

    本文詳細(xì)介紹了Spring?Boot中異常處理的多種方案,包括基于請求轉(zhuǎn)發(fā)、異常處理器、過濾器等方式,并對其特點(diǎn)、實(shí)現(xiàn)方式和適用場景進(jìn)行了詳細(xì)介紹,作者推薦了基于請求轉(zhuǎn)發(fā)和異常處理器+請求轉(zhuǎn)發(fā)補(bǔ)充的方案,認(rèn)為它們能實(shí)現(xiàn)統(tǒng)一的全局異常處理,并能自定義統(tǒng)一響應(yīng)信息格式
    2024-12-12
  • Java中Socket用法詳解

    Java中Socket用法詳解

    本文詳細(xì)講解了Java中Socket的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • type-aliases-package的用法解讀

    type-aliases-package的用法解讀

    在Mybatis的mapper.xml文件中使用type-aliases-package可以簡化resultType和parameterType的全類名指定,通過配置掃描指定包中的實(shí)體類,讓Mybatis自動識別這些實(shí)體
    2024-11-11
  • 淺談一下數(shù)據(jù)庫連接池Druid德魯伊

    淺談一下數(shù)據(jù)庫連接池Druid德魯伊

    數(shù)據(jù)庫連接池就是一個容器持有多個數(shù)據(jù)庫連接,當(dāng)程序需要操作數(shù)據(jù)庫的時候直接從池中取出連接,使用完之后再還回去,和線程池一個道理,需要的朋友可以參考下
    2023-05-05
  • Java線程變量ThreadLocal源碼分析

    Java線程變量ThreadLocal源碼分析

    ThreadLocal用來提供線程內(nèi)部的局部變量,不同的線程之間不會相互干擾,這種變量在多線程環(huán)境下訪問時能保證各個線程的變量相對獨(dú)立于其他線程內(nèi)的變量,在線程的生命周期內(nèi)起作用,可以減少同一個線程內(nèi)多個函數(shù)或組件之間一些公共變量傳遞的復(fù)雜度
    2022-08-08
  • 使用IDEA向Gitee提交SpringBoot項目進(jìn)行遠(yuǎn)程管理

    使用IDEA向Gitee提交SpringBoot項目進(jìn)行遠(yuǎn)程管理

    本文主要介紹了使用IDEA向Gitee提交SpringBoot項目進(jìn)行遠(yuǎn)程管理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 怎樣將一個JAR包添加到Java應(yīng)用程序的Boot?Classpath中

    怎樣將一個JAR包添加到Java應(yīng)用程序的Boot?Classpath中

    本文文章給大家介紹如何將一個JAR包添加到Java應(yīng)用程序的Boot?Classpath中,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的的朋友參考下吧
    2023-11-11
  • 聊聊java中一些減少if else 的編碼習(xí)慣的方法

    聊聊java中一些減少if else 的編碼習(xí)慣的方法

    這篇文章主要介紹了聊聊java中一些減少if else 的編碼習(xí)慣的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 注意Java中?new?BigDecimal(double?val)?的使用

    注意Java中?new?BigDecimal(double?val)?的使用

    這篇文章主要介紹了注意Java中?new?BigDecimal(double?val)?的使用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07

最新評論