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

SpringBoot打包為外部配置包的技巧分享

 更新時間:2025年10月18日 16:45:07   作者:盹貓  
在SpringBoot開發(fā)時,在項目開發(fā)完成后,打包發(fā)布是必不可少的過程(jar,原生執(zhí)行文件,dockerfile等),但打包也是有一些技巧存在的,本篇文章就是記錄打包為外部配置包的技巧,需要的朋友可以參考下

前言

在SpringBoot開發(fā)時,在項目開發(fā)完成后,打包發(fā)布是必不可少的過程(jar,原生執(zhí)行文件,dockerfile等),但打包也是有一些技巧存在的,面對紛繁復雜的部署環(huán)境,我們不能只會打一個jar包,更要懂得在如何部署時更方便運行和修改。

環(huán)境準備

版本

名稱版本
JDK21
SpringBoot3.5.6

注:這里也可以是其它版本,不強制要求。

方法

復制配置(安裝等)文件

有人可能會說了,復制文件,這有什么技巧,我直接復制不就行了(有手就行)。如果是這樣,你可能有些out了,既然是用Maven命令打包jar包當然是希望在打包的過程中復制文件到目標目錄了。

首先需要在pom中添加maven-resources-plugin依賴,內(nèi)容如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.3.1</version>
    <executions>
        <execution> <!-- 復制配置文件 -->
            <id>copy-resources</id>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <resources>
                    <resource>
                        <directory>src/main/resources</directory>
                        <includes>
                            <include>application.yml</include>
                            <include>application-*.yml</include>
                            <include>install.sh</include>
                        </includes>
                    </resource>
                </resources>
                <outputDirectory>${project.build.directory}</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

在上述pom文件中實現(xiàn)的功能是:

當運行mvn pakage命令時,將src/main/resources 目錄下的

  • application.yml
  • application-*.yml
  • install.sh

文件復制到目標${project.build.directory}(target)目錄下。

這樣再有一些其它文件需要跟隨打包的jar包一起復制時,只需要修改pom文件即可。

安裝服務

這里有個install.sh文件也一起復制過去的作用是:

可以快速的安裝當前jar包為服務,畢竟誰也不想每次都使用java命令啟動程序,這很不方便。

腳本內(nèi)容如下:

#! /bin/sh

WORD_DIR=$(cd $(dirname $0); pwd)
SERVICE_NAME="cat-service"

# 檢查是否為 root 用戶
if [ "$(id -u)" -ne 0 ]; then
  echo "提示: 建議使用 root 用戶執(zhí)行此腳本,否則可能權(quán)限不足!"
  read -p "繼續(xù)?(y/n) " -n 1 -r
  if [[ ! $REPLY =~ ^[Yy]$ ]]; then
    exit 1
  fi
  echo
fi

# 當前目錄直接搜索(不含子目錄)
jar_files=(*.jar)

if [ ${#jar_files[@]} -eq 0 ]; then
  echo "當前目錄無 JAR 文件!"
  exit 1
fi

# 遍歷結(jié)果
for jar in "${jar_files[@]}"; do
  echo "找到 JAR 文件: $jar"
done

# 寫文件
# 生成 Systemd 服務文件內(nèi)容
SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service"
cat << EOF | sudo tee "$SERVICE_FILE" > /dev/null
[Unit]
Description=${SERVICE_NAME}
After=syslog.target

[Service]
User=$USER
WorkingDirectory=${WORD_DIR}
ExecStart=java -jar ${jar_files}
SuccessExitStatus=143
Restart=on-failure
RestartSec=10s
Environment=SPRING_PROFILES_ACTIVE=prod

[Install]
WantedBy=multi-user.target
EOF

# 重載 Systemd 并啟動服務
sudo systemctl daemon-reload
sudo systemctl enable "$SERVICE_NAME"
sudo systemctl start "$SERVICE_NAME"

# 驗證服務狀態(tài)
echo "服務已安裝!執(zhí)行以下命令查看狀態(tài):"
echo "sudo systemctl status $SERVICE_NAME"

腳本里只需要修改下服務的名稱即可使用,拿來就用。

總結(jié)

這里只是舉了一個簡單的例子,通過使用maven-resources-plugin依賴去復制配置文件和相關自定義的快速安裝程序,即可完成JAR包的外部配置和快速啟動。

當然,這不是規(guī)定,你也可以自己去創(chuàng)建一些其它快速部署的腳本進行項目的快速部署和啟動。

以上就是SpringBoot打包為外部配置包的技巧分享的詳細內(nèi)容,更多關于SpringBoot外部配置打包的資料請關注腳本之家其它相關文章!

相關文章

最新評論

神池县| 灵璧县| 大余县| 平乡县| 阳江市| 内黄县| 曲沃县| 蓝田县| 大兴区| 永年县| 克什克腾旗| 泾川县| 藁城市| 乐亭县| 南部县| 全椒县| 江阴市| 灵川县| 青铜峡市| 尚义县| 阳新县| 偃师市| 醴陵市| 五家渠市| 兖州市| 横峰县| 双牌县| 昂仁县| 浙江省| 教育| 周口市| 怀集县| 庆安县| 黄冈市| 大石桥市| 怀安县| 南丰县| 宿州市| 潮安县| 昭通市| 澜沧|