maven 打包时项目名_Maven在传统Spring项目中支持多环境打包

本文介绍了如何在纯Spring框架的单体架构中,使用Maven的maven-resources-plugin插件进行多环境打包配置。通过在pom.xml中定义不同环境的标识,并配置资源过滤,实现开发、测试、生产的环境切换。打包时通过命令行参数-P指定环境,简化了手动打包流程,提高了项目部署效率。
摘要由CSDN通过智能技术生成

本文以单体架构为例,技术体系采用单纯Spring框架(未结合SpringBoot下回分解),在开发环境中支持多环境打包配置。常见环境有:开发、测试、与测试、生产等。本文采用Maven打包插件maven-resources-plugin为例详细说明如何配置及打包。

Maven等相关知识不是本文重点,如需要深入了解,欢迎自行谷歌或度娘。

一、常见配置目录分类如下:

282eb439d2bfe8f4130535b30ed47119.png

通过以目录的形式约定配置文件的存放地址,如dev下存放开发环境相关数据库地址,用户名密码,redis的相关地址,Mq等中间件的地址等。

二、在pom.xml中定义相关环境标识。

<profiles>        <profile>            <id>devid>            <activation>                <activeByDefault>trueactiveByDefault>            activation>            <properties>                <package.environment>devpackage.environment>            properties>        profile>        <profile>            <id>testid>            <properties>                <package.environment>testpackage.environment>            properties>        profile>        <profile>            <id>prodid>            <properties>                <package.environment>prodpackage.environment>            properties>        profile>    profiles>
说明,activeByDefault表示默认使用开发环境。

三、插件配置

<build>        <finalName>${project.artifactId}finalName>        <resources>            <resource>                <directory>src/main/javadirectory>                <includes>                    <include>**/*.xmlinclude>                    <include>**/*.xlsinclude>                    <include>**/*.xlsxinclude>                    <include>**/*.bpmninclude>                includes>            resource>            <resource>                <directory>src/main/resourcesdirectory>                <filtering>truefiltering>                <includes>                    <include>**/*.propertiesinclude>                    <include>**/*.xmlinclude>                    <include>**/*.xsdinclude>                includes>                <excludes>                    <exclude>dev/*exclude>                    <exclude>test/*exclude>                    <exclude>prod/*exclude>                excludes>            resource>        resources>        <plugins>            <plugin>                <groupId>org.apache.maven.pluginsgroupId>                <artifactId>maven-compiler-pluginartifactId>                <configuration>                    <source>${java.version}source>                    <target>${java.version}target>                    <encoding>${project.build.sourceEncoding}encoding>                configuration>            plugin>                        <plugin>                <groupId>org.apache.maven.pluginsgroupId>                <artifactId>maven-resources-pluginartifactId>                <version>2.6version>                <executions>                    <execution>                        <id>copy-resourcesid>                        <phase>compilephase>                        <goals>                            <goal>copy-resourcesgoal>                        goals>                        <configuration>                                                        <overwrite>trueoverwrite>                            <outputDirectory>${project.build.outputDirectory}outputDirectory>                                                                                    <resources>                                <resource>                                                                        <directory>src/main/resources/${package.environment}directory>                                    <filtering>falsefiltering>                                resource>                            resources>                        configuration>                    execution>                executions>            plugin>        plugins>    build>
以上是Maven多环境打包配置详情。原理是采用maven的打包命令,通过打包插件去自动加载指定环境的配置文件,即可实现项目的多环境支持。结合Jenkins可进行多环境推送发布。四、打包
mvn clean package -Pdevmvn clean package -Ptest
通过执行maven的package打包命令,-P指定环境,即可实现预期目的。以上就是在传统java开发模式中,如何使用maven进行多环境支持。希望还在查找相关资料的朋友有所收获。避免人工打包的原始方式,欢迎各位朋友交流讨论项目工程研发最佳实践,共同提高效率。

7ae0b9676c43d6cf76be55413afe2496.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值