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

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

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

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

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

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

前提

maven 打包, 配合 assembly 腳本

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

設(shè)置

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

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

使用

maven 打包命令加上 -P dev 標(biāo)識打 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 : 文件地址(打包的時候去哪里復(fù)制這些文件
  • outputDirectory : 輸出到哪里(我這里是默認(rèn)位置)
  • fileMode : 文件權(quán)限設(shè)置
  • filtered : 這個為true則表示啟用動態(tài)變量

啟動腳本如何寫

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

–spring.profiles.active 后面的環(huán)境參數(shù)就能根據(jù)maven打包命令動態(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 測試,并生成測試報告

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

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

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

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

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

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

要想jar包能直接通過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é)

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

相關(guān)文章

  • maven項目打jar包并包含所有依賴詳細(xì)教程

    maven項目打jar包并包含所有依賴詳細(xì)教程

    maven打包生成的普通jar包,只包含該工程下源碼編譯結(jié)果,不包含依賴內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于maven項目打jar包并包含所有依賴的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(52)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(52)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • mybatisPlus實現(xiàn)倒序拼接字符串

    mybatisPlus實現(xiàn)倒序拼接字符串

    這篇文章主要介紹了mybatisPlus實現(xiàn)倒序拼接字符串方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring IOC與DI核心重點(diǎn)分析

    Spring IOC與DI核心重點(diǎn)分析

    IOC也是Spring的核心之一了,之前學(xué)的時候是采用xml配置文件的方式去實現(xiàn)的,后來其中也多少穿插了幾個注解,但是沒有說完全采用注解實現(xiàn)。那么這篇文章就和大家分享一下,全部采用注解來實現(xiàn)IOC + DI
    2022-10-10
  • Spring中@Scope的幾種取值方式

    Spring中@Scope的幾種取值方式

    這篇文章主要介紹了Spring中@Scope的幾種取值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java中實現(xiàn)線程的三種方式及對比_動力節(jié)點(diǎn)Java學(xué)院整理

    Java中實現(xiàn)線程的三種方式及對比_動力節(jié)點(diǎn)Java學(xué)院整理

    本文給大家分享了java實現(xiàn)線程的三種方式,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-05-05
  • 實體類使用@Builder,導(dǎo)致@ConfigurationProperties注入屬性失敗問題

    實體類使用@Builder,導(dǎo)致@ConfigurationProperties注入屬性失敗問題

    這篇文章主要介紹了實體類使用@Builder,導(dǎo)致@ConfigurationProperties注入屬性失敗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot集成Neo4j的詳細(xì)教程

    SpringBoot集成Neo4j的詳細(xì)教程

    Spring Boot 提供了對 Neo4j 的良好支持,使得開發(fā)者可以更方便地使用圖數(shù)據(jù)庫,通過使用 Spring Data Neo4j,開發(fā)者可以輕松地進(jìn)行數(shù)據(jù)訪問、操作以及管理,本文將詳細(xì)介紹如何在 Spring Boot 應(yīng)用中集成 Neo4j,需要的朋友可以參考下
    2024-11-11
  • Mybatis增強(qiáng)版MyBatis-Flex的具體使用

    Mybatis增強(qiáng)版MyBatis-Flex的具體使用

    Mybatis-Flex一個用于增強(qiáng)MyBatis的框架,本文主要介紹了Mybatis增強(qiáng)版MyBatis-Flex的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Json轉(zhuǎn)化為Java對象的實例詳解

    Json轉(zhuǎn)化為Java對象的實例詳解

    這篇文章主要介紹了Json轉(zhuǎn)化為Java對象的實例詳解的相關(guān)資料,前后端數(shù)據(jù)交互的情況經(jīng)常會遇到Json串與java 對象的相互轉(zhuǎn)換方便操作,需要的朋友可以參考下
    2017-08-08

最新評論

武城县| 白河县| 福泉市| 海淀区| 汕尾市| 张掖市| 共和县| 昭觉县| 扶绥县| 光山县| 光山县| 云龙县| 定州市| 呼图壁县| 汪清县| 南京市| 丹东市| 安平县| 神农架林区| 内黄县| 塘沽区| 铁力市| 腾冲县| 沙洋县| 丰顺县| 镇巴县| 海晏县| 高邮市| 晋州市| 高邑县| 新竹县| 石泉县| 固始县| 黄石市| 连州市| 进贤县| 邹城市| 德州市| 牟定县| 浦东新区| 师宗县|