springboot多模块打包指定子模块环境配置文件
父pom.xml
maven 命令:mvn clean package -Dmaven.test.skip=true -Puat
命令解析:清class文件,打包构建,跳过测试
注意:最后一个 -P uat,-P maven 会激活项目下的pom.xml配置的<profiles>标签下id为uat
<profiles><profile><id>sit</id><properties><env>sit</env></properties><!-- 是否默认 true表示默认 --><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>uat</id><properties><env>uat</env></properties></profile><profile><id>prod</id><properties><env>prod</env></properties></profile></profiles>
使用占位符上面配置定义的${env}进行资源过滤
<resources><resource><filtering>true</filtering><directory>src/main/resources</directory><includes><include>application.properties</include><include>**/application-${env}.properties</include><include>**/*.xml</include></includes></resource></resources><!-- 变量来源 --><filters><filter>src/main/resources/application-${env}.properties</filter> </filters>
application.properties
#************************************************ SpringBoot Base ********************************************spring.profiles.active=@env@
/src/main/resources
/src/main/resources/application.properties/src/main/resources/application-sit.properties/src/main/resources/application-uat.properties/src/main/resources/application-prod.properties
扩展:pom.xml跳过打包时单元测试自启动
<build><plugins><!-- 打包跳过单元测试 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skipTests>true</skipTests></configuration></plugin></plugins></build>
批处理自动打包提取war包脚本
@echo offcolor 0atitle MAVEN项目一键提取warrem 多jdk可以打开指定版本rem SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101SET "TARGET_HOME=C:\Users\wll\Desktop\temp_data"SET "PROECT_HOME=D:\A_eclipse_work\gitlab\xxx"echo.echo ---------------------------请输入要打包的环境,回车即可!---------------------------echo ---------------------------请输入要打包的环境,回车即可!---------------------------echo.ECHO. ECHO. [1] sitECHO. [2] devECHO. [3] uatECHO. [4] prodECHO. [5] 退 出 ECHO. ECHO.请输入选择项目的序号:set /p ID=IF "%id%"=="1" GOTO sit IF "%id%"=="2" GOTO dev IF "%id%"=="3" GOTO uat IF "%id%"=="4" GOTO prodIF "%id%"=="5" EXITPAUSE :sitSET "PROECT_EVN= -P sit"goto:run:devSET "PROECT_EVN= -P dev"goto:run:uatSET "PROECT_EVN= -P uat"goto:run:prodSET "PROECT_EVN= -P prod"goto:run:runecho.echo ---------------------------数据处理中!请勿关闭!---------------------------echo ---------------------------数据处理中!请勿关闭!---------------------------echo.cd /d "%TARGET_HOME%"if exist "recr.war" (del /s /Q "recr.war")if exist "extra.war" (del /s /Q "extra.war")cd /d "%PROECT_HOME%"call mvn clean install %PROECT_EVN%echo.echo ---------------------------business正在进行数据拷贝...---------------------------echo.copy %PROECT_HOME%\inc-business\target\*.war %TARGET_HOME%echo.echo ---------------------------business正在数据拷贝完成...---------------------------echo.echo.echo ---------------------------inc-extra正在进行数据拷贝...---------------------------echo.copy %PROECT_HOME%\inc-extra\target\*.war %TARGET_HOME%echo.echo ---------------------------inc-extra正在数据拷贝完成...---------------------------echo.echo.echo ---------------------------项目打包完成!!!---------------------------TIMEOUT /T 20pause