Java項(xiàng)目打包部署之部署jar包和war包
一、概述:
本文將介紹將Java項(xiàng)目部署到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項(xiàng)目部署到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 包
在項(xiàng)目根目錄下執(zhí)行以下 Maven 命令打包 jar 包:
mvn clean package
在 target 目錄下生成 jar 包。
2. 將 jar 包上傳到 Linux 服務(wù)器
上傳Java項(xiàng)目到服務(wù)器是準(zhǔn)備要執(zhí)行的下一步。通??梢允褂肍TP等文件傳輸工具將Java項(xiàng)目上傳到服務(wù)器。如果使用Windows操作系統(tǒng),則可以使用Xftp客戶端等工具,將Java項(xiàng)目上傳到Linux服務(wù)器上。

如果您想從Linux本地終端上傳Java項(xiàng)目,在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/路徑,使用自己的路徑。
注意: 通常我們每次打包新上線的時(shí)候, 會把當(dāng)前正在運(yùn)行的包停掉但是保存著,上傳時(shí)千萬不要直接覆蓋! 啟動新的包后也不要立即刪除了之前的包! 不然你會后悔的。。。
3. 運(yùn)行 jar 包
運(yùn)行時(shí)按一下幾個步驟:
- 進(jìn)入jar包所在目錄
cd /../..
- 查詢所有進(jìn)程,找到項(xiàng)目端口號對應(yīng)的PID
netstat -ntpl
假設(shè)找到的項(xiàng)目的PID為: 8548
- 執(zhí)行殺進(jìn)程命令(8548為PID)
kill -9 8548
- 再次執(zhí)行查詢命令,沒有項(xiàng)目端口,表示殺死進(jìn)程成功
netstat -ntpl
- 執(zhí)行啟動jar包命令
nohup java -jar 項(xiàng)目包.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之后查詢項(xiàng)目端口, 看是否停止成功
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 項(xiàng)目的打包和部署操作,我們建議使用 Maven 進(jìn)行管理,特別是 Maven 插件 shade 和 war。使用這些插件可以非常方便地打包和部署項(xiàng)目。在使用時(shí)要注意依賴庫的版本兼容。
在部署 jar 包時(shí),可以將啟動命令寫入 shell 腳本,方便管理。在部署 war 包時(shí),我們建議使用自動化配置工具 Jenkins ,可以方便地部署和管理多臺服務(wù)器上的應(yīng)用程序。
總之,選擇合適的打包腳本插件和部署工具,可以為 Java 項(xiàng)目的打包和部署操作帶來更高效和方便的體驗(yàn)。
到此這篇關(guān)于Java項(xiàng)目打包部署之部署jar包和war包的文章就介紹到這了,更多相關(guān)部署jar包和war包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談java中replace()和replaceAll()的區(qū)別
這篇文章主要介紹了java中replace()和replaceAll()的區(qū)別,兩者都是常用的替換字符的方法,感興趣的小伙伴們可以參考一下2015-11-11
spring/springboot整合dubbo詳細(xì)教程
今天教大家如何使用spring/springboot整合dubbo,文中有非常詳細(xì)的圖文介紹及代碼示例,對正在學(xué)習(xí)java的小伙伴有很好地幫助,需要的朋友可以參考下2021-05-05
java通過控制鼠標(biāo)實(shí)現(xiàn)屏幕廣播的方法
這篇文章主要介紹了java通過控制鼠標(biāo)實(shí)現(xiàn)屏幕廣播的方法,針對前面一篇Java屏幕共享功能進(jìn)行了改進(jìn),實(shí)現(xiàn)了鼠標(biāo)控制功能,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12
MybatisPlus實(shí)現(xiàn)多表的關(guān)聯(lián)查詢,實(shí)現(xiàn)分頁,多條件查詢?nèi)^程
文章介紹了如何通過商品表與供應(yīng)商表的關(guān)聯(lián)查詢,實(shí)現(xiàn)商品信息的模糊查詢,具體包括建立DAO層接口、實(shí)體類和請求參數(shù)類,編寫SQL查詢語句,以及在控制層處理查詢請求2026-03-03
如何解決@PutMapping或@PostMapping接收String類型參數(shù)多兩個“引號問題
這篇文章主要介紹了如何解決@PutMapping或@PostMapping接收String類型參數(shù)多兩個“引號問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
Java 常用類解析:java異常機(jī)制,異常棧,異常處理方式,異常鏈,異常丟失詳解
這篇文章主要介紹了Java 常用類解析:java異常機(jī)制,異常棧,異常處理方式,異常鏈,異常丟失詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03
SpringBoot配置Hikari數(shù)據(jù)庫連接池的詳細(xì)步驟
Spring Boot是一個開源的Java框架,它簡化了基于Spring的應(yīng)用程序的開發(fā)和部署,HikariCP是一個高性能的Java數(shù)據(jù)庫連接池,被廣泛應(yīng)用于Java開發(fā)領(lǐng)域,它是目前最快和最輕量級的連接池之一,本文介紹了SpringBoot配置Hikari數(shù)據(jù)庫連接池的詳細(xì)步驟,需要的朋友可以參考下2024-08-08

