亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

maven如何打包動(dòng)態(tài)環(huán)境變量(包括啟動(dòng)腳本)

 更新時(shí)間:2023年04月06日 10:27:09   作者:__WanG  
這篇文章主要介紹了maven如何打包動(dòng)態(tài)環(huán)境變量(包括啟動(dòng)腳本)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

maven 打包 動(dòng)態(tài)啟動(dòng)腳本

介紹如何通過(guò)maven的環(huán)境變量動(dòng)態(tài)打包, 并動(dòng)態(tài)改變啟動(dòng)腳本中的環(huán)境參數(shù)

之前都是每個(gè)環(huán)境一個(gè)啟動(dòng)腳本, 其實(shí)啟動(dòng)腳本基本都一樣, 只是啟動(dòng)的時(shí)候的環(huán)境變量不一樣, 隨著環(huán)境越來(lái)越多, 這樣一個(gè)環(huán)境一個(gè)啟動(dòng)腳本的方式太不優(yōu)雅了, 每次加環(huán)境都得加一份啟動(dòng)腳本, jenkins配置, alibaba cloud開(kāi)發(fā)插件配置每次都得微調(diào)一下, 于是尋找是否有可以動(dòng)態(tài)改變腳本內(nèi)容的方式

前提

maven 打包, 配合 assembly 腳本

maven環(huán)境變量(知道這個(gè)是怎么回事的直接跳過(guò)這部分即可)

設(shè)置

在 pom.xml 文件中加入如下的配置

<profiles>
? ? <profile>
? ? ? ? <!-- 開(kāi)發(fā)環(huán)境 -->
? ? ? ? <id>dev</id>
? ? ? ? <properties>
? ? ? ? ? ? <package.environment>dev</package.environment>
? ? ? ? </properties>
? ? </profile>
<profiles>
  • package.environment : 這個(gè)是變量名(你可以直接叫env等等, 隨意)
  • dev : 中間這個(gè) dev 就是環(huán)境變量的值(和你的環(huán)境配置文件, 配置地址等一致即可)

使用

maven 打包命令加上 -P dev 標(biāo)識(shí)打 dev 環(huán)境的包

assembly 配置

在配置腳本中加入如下

<fileSet>
?? ?<directory>${project.build.scriptSourceDirectory}</directory>
?? ?<outputDirectory></outputDirectory>
?? ?<fileMode>0755</fileMode>
?? ?<filtered>true</filtered>
?? ?<includes>
?? ??? ?<include>startup.sh</include>
?? ?</includes>
</fileSet>
  • directory : 文件地址(打包的時(shí)候去哪里復(fù)制這些文件
  • outputDirectory : 輸出到哪里(我這里是默認(rèn)位置)
  • fileMode : 文件權(quán)限設(shè)置
  • filtered : 這個(gè)為true則表示啟用動(dòng)態(tài)變量

啟動(dòng)腳本如何寫

本文環(huán)境變量的key為package.environment

–spring.profiles.active 后面的環(huán)境參數(shù)就能根據(jù)maven打包命令動(dòng)態(tài)變更了(maven 命令 -P 后面跟的參數(shù))

如下:

nohup java -jar your.jar --spring.profiles.active=${package.environment} -server -Xms512m -Xmx1024m -Xss256k

maven常用打包命令

1、mvn compile 編譯,將Java 源程序編譯成 class 字節(jié)碼文件。

2、mvn test 測(cè)試,并生成測(cè)試報(bào)告

3、mvn clean 將以前編譯得到的舊的 class 字節(jié)碼文件刪除

4、mvn pakage 打包,動(dòng)態(tài) web工程打 war包,Java工程打 jar 包。

5、mvn install 將項(xiàng)目生成 jar 包放在倉(cāng)庫(kù)中,以便別的模塊調(diào)用

6、mvn clean install -Dmaven.test.skip=true 打成jar包,并且拋棄測(cè)試用例打包

7、mvn clean pakage -Dmaven.test.skip=true 動(dòng)態(tài) web工程打 war包,Java工程打 jar 包 ,并且拋棄測(cè)試用例打包

Maven可以使用mvn package指令對(duì)項(xiàng)目進(jìn)行打包,如果使用java -jar xxx.jar執(zhí)行運(yùn)行jar文件,會(huì)出現(xiàn)"no main manifest attribute, in xxx.jar"(沒(méi)有設(shè)置Main-Class)、ClassNotFoundException(找不到依賴包)等錯(cuò)誤。

要想jar包能直接通過(guò)java -jar xxx.jar運(yùn)行,需要滿足:

1、在jar包中的META-INF/MANIFEST.MF中指定Main-Class,這樣才能確定程序的入口在哪里;

2、要能加載到依賴包。

在pom.xml中配置:

<plugin>
?? ?<!--用于指定加載的主類-->
?? ?<groupId>org.springframework.boot</groupId>
?? ?<artifactId>spring-boot-maven-plugin</artifactId>
?? ?<configuration>
?? ??? ?<mainClass>com.zyd.blog.BlogWebApplication</mainClass>
?? ??? ?<layout>JAR</layout>
? ? ? ? ? ? ? ? <!--構(gòu)建完整可執(zhí)行程序,可以直接運(yùn)行-->
? ? ? ? ? ? ? ? <executable>true</executable>
?? ?</configuration>
</plugin>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論