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

SpringBoot應(yīng)用的打包和發(fā)布實現(xiàn)

 更新時間:2023年04月02日 15:00:43   作者:_kairui  
本文主要介紹了SpringBoot應(yīng)用的打包和發(fā)布實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 創(chuàng)建項目(example-fast)

基于 Spring Boot 創(chuàng)建一個 WEB 項目 example-fast。

2. 編譯打包

2.1 采用 IDEA 集成的 Maven 環(huán)境來對 Spring Boot 項目編譯打包,可謂是超級 easy

在這里插入圖片描述

2.2 mvn 命令打包

# mvn clean 清理編譯
# install 打包
# -Dmaven.test.skip=true 跳過單元測試
# -P dev 指定dev配置

mvn clean install -Dmaven.test.skip=true -P dev

3. 應(yīng)用發(fā)布

3.1 一行命令的演化
運行 Spring Boot 打包之后的 jar 方式也簡單,只需一行命令就行。

java -jar /usr/local/example-fast-1.0.0.jar

此時,服務(wù)是啟動了,但是不能關(guān)閉這個窗口,一旦關(guān)閉服務(wù)就停止了,不得不考慮后臺運行,并且還想看日志;

java -jar /usr/local/example-fast-1.0.0.jar > example-fast.out &

執(zhí)行啟動時,效果如下,然后就可以輕松看日志輸出了。

如果項目組中你既是研發(fā)又充當(dāng)運維的角色,到這基本就完事兒了,因為相信通過熟練操作,會形成肌肉反應(yīng),你肯定能記住這一行命令。
不過,若是分工明確,生產(chǎn)權(quán)限隔離的話,一般都是運維同事來操作發(fā)布,所以還得想辦法讓運維同事省力,不得不考慮腳本化。

首先創(chuàng)建項目目錄例如 example-fast,然后分別創(chuàng)建 bin、lib、logs 目錄;把 example-fast-0.0.1-SNAPSHOT.jar 拷貝至 lib 目錄下;bin 目錄主要存放腳本。創(chuàng)建 start.sh 應(yīng)用啟動腳本; stop.sh 應(yīng)用停止腳本

啟動腳本(start.sh)

#!/bin/bash

#配置 Java 環(huán)境變量
export JAVA_HOME=/usr/local/java/jdk/jdk1.8.0_231
export PATH=.:$JAVA_HOME/bin:$PATH


#定義應(yīng)用名
App_Name=example-fast

#定義應(yīng)用所在目錄
App_Path=/home/${App_Name}

#定義可執(zhí)行文件的路徑
JAR_PATH=${App_Path}/example-fast-1.0.0.jar

#jvm啟動參數(shù)
JAVA_OPTS="-Duser.timezone=GMT+8 -server -Xms4096m -Xmx4096m  -XX:MaxMetaspaceSize=256m -Xloggc:${App_Path}/logs/${App_Name}.gc.log -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=5 -XX:+PrintGC -XX:+PrintGCTimeStamps  -XX:+PrintGCDetails  -XX:+PrintGCApplicationStoppedTime"

#啟動JAVA進程函數(shù)
CURRENT_COUNT=`ps -ef|grep java |grep ${App_Name} |grep -vc grep`
if [ $CURRENT_COUNT -eq 0 ]
then
        Log_Name=$(echo ${App_Name}|awk  -F"-" '{ print $NF }')
        nohup java -Dfunc_type=${App_Name}  $JAVA_OPTS  -Dfile.encoding=utf-8  -jar  $JAR_PATH  > ${App_Path}/logs/${App_Name}.out  2>&1 &
  PROCESS_ID=`ps -ef | grep  "${App_Name}" |grep -v grep | awk '{ print $2 }'`
      echo " ?????啟動應(yīng)用 ${App_Name} 成功,進程 id 為 ${PROCESS_ID} ????? "
else
    echo " ????? 應(yīng)用 ${App_Name} 已經(jīng)被啟動了 ????? "
fi
# 執(zhí)行應(yīng)用啟動 start.sh
sh start.sh

停止腳本(stop.sh)

#!/bin/bash

# 定義應(yīng)用名稱
App_Name=example-fast

# 停止JAVA進程函數(shù)
echo " ????? 開始停止 ${App_Name} 應(yīng)用 ????? "
ps -ef | grep ${App_Name} | grep -v grep | awk '{print$2}' | xargs kill
echo " ????? 應(yīng)用 ${App_Name} 停止成功!????? "
# 執(zhí)行應(yīng)用停止 stop.sh
sh stop.sh

至此,Spring Boot 項目最基本的發(fā)布方式就完事了,可以直接執(zhí)行腳本完成項目的啟動和停止,操作更簡單了!更多相關(guān)SpringBoot應(yīng)用打包和發(fā)布內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java使用雪花算法生成唯一ID的實現(xiàn)示例

    Java使用雪花算法生成唯一ID的實現(xiàn)示例

    雪花算法是 Twitter 開源的一種分布式ID生成算法,其目的是生成全局唯一的 ID,本文主要介紹了Java使用雪花算法生成唯一ID的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • Java數(shù)組拷貝的幾種方法小結(jié)

    Java數(shù)組拷貝的幾種方法小結(jié)

    本文主要介紹了Java數(shù)組拷貝的幾種方法小結(jié),包括for循環(huán)、System.arraycopy()、Arrays.copyOf()、Arrays.copyOfRange()和clone()方法,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • java讀取resource目錄下文件的方法示例

    java讀取resource目錄下文件的方法示例

    這篇文章主要介紹了利用java讀取resource目錄下文件的方法,文中給出了詳細(xì)的示例代碼,相信對大家具有一定的參考借鑒,需要的朋友們下面來一起看看吧。
    2017-02-02
  • EasyCode插件使用詳解(推薦)

    EasyCode插件使用詳解(推薦)

    EasyCode是idea的一個插件,這個插件功能很強大,今天通過本文給大家分享EasyCode插件使用詳解,需要的朋友可以參考下
    2020-09-09
  • springboot?web項目中?Set-Cookie?失敗原因及解決辦法

    springboot?web項目中?Set-Cookie?失敗原因及解決辦法

    這篇文章主要介紹了springboot?web項目中?Set-Cookie?失敗原因及解決辦法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • SpringCloud兩種注冊中心的實現(xiàn)

    SpringCloud兩種注冊中心的實現(xiàn)

    本文主要介紹了SpringCloud兩種注冊中心的實現(xiàn),包括服務(wù)注冊、服務(wù)拉取、負(fù)載均衡和實例權(quán)重配置等,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • 聊聊DecimalFormat的用法及各符號的意義

    聊聊DecimalFormat的用法及各符號的意義

    這篇文章主要介紹了DecimalFormat的用法及各符號的意義,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java如何獲取map中value的最大值

    java如何獲取map中value的最大值

    這篇文章主要介紹了java如何獲取map中value的最大值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • spring 整合 mybatis 中數(shù)據(jù)源的幾種配置方式(總結(jié)篇)

    spring 整合 mybatis 中數(shù)據(jù)源的幾種配置方式(總結(jié)篇)

    因為spring 整合mybatis的過程中, 有好幾種整合方式,尤其是數(shù)據(jù)源那塊,經(jīng)??吹讲灰粯拥呐渲梅绞?,總感覺有點亂,所以今天有空總結(jié)下,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • Java中?springcloud.openfeign應(yīng)用案例解析

    Java中?springcloud.openfeign應(yīng)用案例解析

    使用OpenFeign能讓編寫Web?Service客戶端更加簡單,使用時只需定義服務(wù)接口,然后在上面添加注解,OpenFeign也支持可拔插式的編碼和解碼器,這篇文章主要介紹了Java中?springcloud.openfeign應(yīng)用案例解析,需要的朋友可以參考下
    2024-06-06

最新評論

保靖县| 襄垣县| 西乌珠穆沁旗| 裕民县| 江北区| 临高县| 故城县| 绥宁县| 小金县| 扎鲁特旗| 拉萨市| 辽中县| 丰顺县| 嘉鱼县| 南澳县| 元谋县| 葵青区| 遵化市| 兴和县| 井冈山市| 北流市| 枣阳市| 东明县| 赤水市| 岳池县| 平原县| 鄂伦春自治旗| 红安县| 昌图县| 同仁县| 永修县| 永清县| 宁晋县| 远安县| 北川| 衡阳市| 磐石市| 蓝山县| 泰兴市| 涪陵区| 大宁县|