您好,登錄后才能下訂單哦!
這篇文章主要介紹“maven怎么打包動態環境變量”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“maven怎么打包動態環境變量”文章能幫助大家解決問題。
介紹如何通過maven的環境變量動態打包, 并動態改變啟動腳本中的環境參數
之前都是每個環境一個啟動腳本, 其實啟動腳本基本都一樣, 只是啟動的時候的環境變量不一樣, 隨著環境越來越多, 這樣一個環境一個啟動腳本的方式太不優雅了, 每次加環境都得加一份啟動腳本, jenkins配置, alibaba cloud開發插件配置每次都得微調一下, 于是尋找是否有可以動態改變腳本內容的方式
maven 打包, 配合 assembly 腳本
設置
在 pom.xml 文件中加入如下的配置
<profiles> <profile> <!-- 開發環境 --> <id>dev</id> <properties> <package.environment>dev</package.environment> </properties> </profile> <profiles>
package.environment
: 這個是變量名(你可以直接叫env等等, 隨意)
dev
: 中間這個 dev 就是環境變量的值(和你的環境配置文件, 配置地址等一致即可)
使用
maven 打包命令加上 -P dev 標識打 dev 環境的包
在配置腳本中加入如下
<fileSet> <directory>${project.build.scriptSourceDirectory}</directory> <outputDirectory></outputDirectory> <fileMode>0755</fileMode> <filtered>true</filtered> <includes> <include>startup.sh</include> </includes> </fileSet>
directory
: 文件地址(打包的時候去哪里復制這些文件
outputDirectory
: 輸出到哪里(我這里是默認位置)
fileMode
: 文件權限設置
filtered
: 這個為true則表示啟用動態變量
本文環境變量的key為package.environment
–spring.profiles.active 后面的環境參數就能根據maven打包命令動態變更了(maven 命令 -P 后面跟的參數)
如下:
nohup java -jar your.jar --spring.profiles.active=${package.environment} -server -Xms512m -Xmx1024m -Xss256k
1、mvn compile 編譯,將Java 源程序編譯成 class 字節碼文件。
2、mvn test 測試,并生成測試報告
3、mvn clean 將以前編譯得到的舊的 class 字節碼文件刪除
4、mvn pakage 打包,動態 web工程打 war包,Java工程打 jar 包。
5、mvn install 將項目生成 jar 包放在倉庫中,以便別的模塊調用
6、mvn clean install -Dmaven.test.skip=true 打成jar包,并且拋棄測試用例打包
7、mvn clean pakage -Dmaven.test.skip=true 動態 web工程打 war包,Java工程打 jar 包 ,并且拋棄測試用例打包
Maven可以使用mvn package指令對項目進行打包,如果使用java -jar xxx.jar執行運行jar文件,會出現"no main manifest attribute, in xxx.jar"(沒有設置Main-Class)、ClassNotFoundException(找不到依賴包)等錯誤。
要想jar包能直接通過java -jar xxx.jar運行,需要滿足:
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> <!--構建完整可執行程序,可以直接運行--> <executable>true</executable> </configuration> </plugin>
關于“maven怎么打包動態環境變量”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。