Assemby 打包並啟動jar包
期望效果
通過mvn package進行打包的時候生成jar包啟動指令碼 直接對生成的jar包啟動
引入maven外掛
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<!--主要使用的是maven提供的assembly外掛完成-->
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<configuration> <descriptors> <!--具體的配置檔案--> <descriptor>src/main/assembly/assembly.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <!--繫結到maven操作型別上--> <phase>package</phase> <!--執行一次--> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>
在專案目錄下建立如下檔案
具體的檔案內容詳見
https://gitee.com/pingfanrenbiji/resource/tree/master/assembly
通過maven打包
在target目錄下 會生成一個 壓縮包
圈紅部分是assembly啟動指令碼
lib目錄下 是生成的jar包
config目錄是專案中的配置檔案resouces目錄下所有的配置
啟動指令碼啟動jar包
注:該啟動指令碼會讀取config下面的application.yml配置檔案
需要優化的地方
該啟動指令碼只能讀取 application.yml 配置檔案
所以對於多環境配置的情況不能夠使用
這裡優化的思路(等有時間了再完善)
-
從外部傳給該啟動指令碼一個 profile 環境變數
-
通過環境變數找到對應的配置檔案
-
然後把該配置檔案複製成application.yml檔案
本文使用 mdnice 排版
相關文章
- java-jar啟動jar包JavaJAR
- idea打包jar包IdeaJAR
- jar包啟動方式JAR
- linux 啟動jar包:在 Linux 上啟動 Java jar 包的方法LinuxJARJava
- jar架包啟動命令JAR
- Android Studio打包apk,aar,jar包AndroidAPKJAR
- java 啟動檢視jar包載入順序並設定classpathJavaJAR
- IDEA打包工具類jar並混淆IdeaJAR
- AndroidStudio打包Library專案成jar包AndroidJAR
- CentOS下jar包隨系統啟動CentOSJAR
- 使用thin jar啟動並指定lib目錄JAR
- jenkins將打包的jar包部署到nexusJenkinsJAR
- 【SpringBoot】服務 Jar 包的啟動過程原理Spring BootJAR
- Windows使用bat指令碼指定jdk版本啟動jar包WindowsBAT指令碼JDKJAR
- Spring Boot啟動後讀取jar包內部檔案Spring BootJAR
- Mysql java JDBC驅動jar包MySqlJavaJDBCJAR
- Java 如何打增量 jar 包【修改部分檔案不需全部打包】JavaJAR
- 精盡Spring Boot原始碼分析 - Jar 包的啟動實現Spring Boot原始碼JAR
- 一個簡單的Linux啟動jar包的shell指令碼LinuxJAR指令碼
- jar包JAR
- 在IDEA上執行成功,打包成jar包後,執行報錯,程式自動退出IdeaJAR
- spark 2.1.0 standalone模式配置&&打包jar包透過spark-submit提交Spark模式JARMIT
- Docker安裝java環境並部署jar包執行DockerJavaJAR
- ruoyi vue 前後端分離版本 打包分離jar包至libVue後端JAR
- springboot,springcloud打包成jar教程Spring BootGCCloudJAR
- AndroidStudio專案打包成jarAndroidJAR
- 面試官:說說SpringBoot為什麼可以使用Jar包啟動?面試Spring BootJAR
- eclipse 手動新增jar包到maven庫EclipseJARMaven
- maven專案打包說有依賴jar包到一個資料夾MavenJAR
- Qt5打包後缺少dll,啟動失敗問題QT
- linux 部署jar包LinuxJAR
- centos 部署jar包CentOSJAR
- java修改jar包JavaJAR
- 深入Jar包:Gradle構建可執行jar包與訪問jar包中資料夾與檔案JARGradle
- idea工具手動匯入jar包,多個module共使用同一個jar包的操作步驟IdeaJAR
- 讀取 jar 包中巢狀的 jar 包內容的方法JAR巢狀
- 【java學習】jar、arr和程式打包JavaJAR
- AndroidStudio最新打包jar和aar的方法AndroidJAR