maven的profile配置多种部署环境(如开发、测试、生产等)
2016-12-02 13:05
639 查看
用Maven的小伙伴都知道,Maven的宗旨是约定优于配置(Convention Over Configuration)。
在宗旨的前提下Maven也提供了个性化定制的Profile,让我们看看用法哈!
首先让我们一起看看Maven中的属性,这个用的挺多的:
注:以下属性请在pom文件中使用,项目中使用默认是不支持的需要自己配置。
(本文章分享在CSDN平台,更多精彩请阅读 东陆之滇的csdn博客:http://blog.csdn.net/zixiao217 ,如在其他平台看到此文可能会出现内容不完整的现象,请移至东陆之滇http://blog.csdn.NET/zixiao217查看原文)
现在我们开始认识Profile,以下是一个简单的Profile结构体:
定义一个id为dev、属性db.driver为com.mysql.jdbc.Driver的Profile。
仅仅定义就行了吗?答案是否定的。我们需要激活Profile才能生效,我们可以通过mvn clean install -P dev激活!
(注:dev为激活ID,如果你想激活多个可以mvn clean install -P dev1,dev2使用,如果不想激活某一个用-P!dev1)
以上是一种激活方式,下面我们继续介绍其他激活方式
activeByDefault默认激活:
settings.xml默认激活:
系统属性激活:
注:上面表示test=driver时才激活, mvn clean install -Dtest=driver
系统环境激活:
注:上面表示jdk为1.5、1.6和1.7的时候激活
存在jdbc.properties文件情况,不存在oracle.properties文件情况激活
在宗旨的前提下Maven也提供了个性化定制的Profile,让我们看看用法哈!
首先让我们一起看看Maven中的属性,这个用的挺多的:
注:以下属性请在pom文件中使用,项目中使用默认是不支持的需要自己配置。
(本文章分享在CSDN平台,更多精彩请阅读 东陆之滇的csdn博客:http://blog.csdn.net/zixiao217 ,如在其他平台看到此文可能会出现内容不完整的现象,请移至东陆之滇http://blog.csdn.NET/zixiao217查看原文)
内置属性: ${basedir}项目根目录 ${version} 项目版本号 Pom属性: ${project.artifactId} ${project.build.sourceDirectory} ${project.build.testSourceDirectory} ${project.build.directory} ${project.outputDirectory} ${project.testOutputDirectory} ${project.groupId} ${project.version} ${project.build.finalName} 自定义属性:Settings: ${settings.localRepository} ,引用settings.xml文件中的XML元素的值 Java系统属性: ${user.home} 环境变量属性: ${env.JAVA_HOME}
现在我们开始认识Profile,以下是一个简单的Profile结构体:
<profiles> <profile> <id>dev</id> <properties> <db.driver>com.mysql.jdbc.Driver</db.dirver> </properties> </profile> </profiles>
定义一个id为dev、属性db.driver为com.mysql.jdbc.Driver的Profile。
仅仅定义就行了吗?答案是否定的。我们需要激活Profile才能生效,我们可以通过mvn clean install -P dev激活!
(注:dev为激活ID,如果你想激活多个可以mvn clean install -P dev1,dev2使用,如果不想激活某一个用-P!dev1)
以上是一种激活方式,下面我们继续介绍其他激活方式
activeByDefault默认激活:
<profiles> <profile> <id>dev</id> <properties> <db.driver>com.mysql.jdbc.Driver</db.dirver> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> </profiles>
settings.xml默认激活:
<settings> ... <activeProfiles> <activeProfile>dev1</activeProfile> </activeProfiles> ... </settings>
系统属性激活:
<profiles> <profile> <id>dev</id> <properties> <db.driver>com.mysql.jdbc.Driver</db.dirver> </properties> <activation> <property> <name>test</name> <value>driver</value> </property> </activation> </profile> </profiles>
注:上面表示test=driver时才激活, mvn clean install -Dtest=driver
系统环境激活:
<profiles> <profile> <id>dev</id> <properties> <db.driver>com.mysql.jdbc.Driver</db.dirver> </properties> <activation> <jdk>[1.5,1.8)</jdk> <file> <missing>oracle.properties</missing> <exists>jdbc.properties</exists> </file> </activation> </profile> </profiles>
注:上面表示jdk为1.5、1.6和1.7的时候激活
存在jdbc.properties文件情况,不存在oracle.properties文件情况激活
相关文章推荐
- Maven项目之Spring.profile.开发.测试.生产环境的配置和切换之一键部署
- Gradle项目之Spring.profile.开发.测试.生产环境的配置和切换之一键部署
- Maven 利用Profile属性配置,生成不同环境(生产、测试)下的发布包
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- Maven 多环境配置:开发,测试,生产环境
- maven: 开发、测试和生产环境使用不同的配置文件例子
- Maven 生产环境 测试环境 开发环境 打包配置
- springboot 多环境(开发、测试、生产)部署配置文件方案
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- Maven 使用profile来区分开发、测试、生产环境
- 160922、配置:spring通过profile或@profile配置不同的环境(测试、开发、生产)
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- Spring.profile实现开发、测试和生产环境的配置和切换
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- Maven 生产环境 测试环境 开发环境 打包配置
- Spring.profile实现开发、测试和生产环境的配置和切换
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 通过maven管理项目的生产、开发和测试环境的配置文件
- 使用Maven自动打包配置文件生成开发环境,测试环境,生产环境