maven动态切换项目环境
2016-08-10 00:00
120 查看
摘要: 由于经常在开发环境和测试环境上部署项目,而开发环境和测试环境的数据源、缓存等环境不同,故数据源和缓存服务器也不同,为了简化每次部署时,不停的修改配置文件,故可以使用maven指定环境,直接执行命令,即可切换到相应的环境。
下面讲解怎么在maven项目中配置profile,达到切换环境的目的
profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。
1、在src/main/resources同级目录下创建profile文件
分别在profile下创建子目录如dev/product等,分别存放开发和生成环境的配置。
2、在pom.xml中添加如下配置,特别注意红色字体部分,需要包含两部分<resource>
<build>
<finalName>im-visitor</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/profile/${prop.dir.name}</directory>
<targetPath>./</targetPath>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>./</targetPath>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<prop.dir.name>dev</prop.dir.name>
</properties>
</profile>
<profile>
<id>intest</id>
<properties>
<prop.dir.name>intest</prop.dir.name>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<prop.dir.name>beta</prop.dir.name>
</properties>
</profile>
<profile>
<id>online</id>
<properties>
<prop.dir.name>online</prop.dir.name>
</properties>
</profile>
<profile>
<id>ds-production</id>
<properties>
<prop.dir.name>ds-production</prop.dir.name>
</properties>
</profile>
</profiles>
ps: <prop.dir.name>标签就是步骤一种创建的环境文件夹名称
3、执行mvn命令
clean compile install -Pdev -DskipTests=true 切换开发环境配置
clean compile install -Ponline -DskipTests=true 切换正式线配置
上面的dev就是切换到开发环境的配置,online就是切换到线上环境的配置
下面讲解怎么在maven项目中配置profile,达到切换环境的目的
profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。
1、在src/main/resources同级目录下创建profile文件
分别在profile下创建子目录如dev/product等,分别存放开发和生成环境的配置。
2、在pom.xml中添加如下配置,特别注意红色字体部分,需要包含两部分<resource>
<build>
<finalName>im-visitor</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/profile/${prop.dir.name}</directory>
<targetPath>./</targetPath>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>./</targetPath>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<prop.dir.name>dev</prop.dir.name>
</properties>
</profile>
<profile>
<id>intest</id>
<properties>
<prop.dir.name>intest</prop.dir.name>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<prop.dir.name>beta</prop.dir.name>
</properties>
</profile>
<profile>
<id>online</id>
<properties>
<prop.dir.name>online</prop.dir.name>
</properties>
</profile>
<profile>
<id>ds-production</id>
<properties>
<prop.dir.name>ds-production</prop.dir.name>
</properties>
</profile>
</profiles>
ps: <prop.dir.name>标签就是步骤一种创建的环境文件夹名称
3、执行mvn命令
clean compile install -Pdev -DskipTests=true 切换开发环境配置
clean compile install -Ponline -DskipTests=true 切换正式线配置
上面的dev就是切换到开发环境的配置,online就是切换到线上环境的配置
相关文章推荐
- Maven项目之Spring.profile.开发.测试.生产环境的配置和切换之一键部署
- 使用maven的profile切换项目各环境的参数
- 使用maven的profile切换项目各环境的参数
- 使用maven的profile切换项目各环境的参数
- 使用maven的profile切换项目各环境的参数
- 一步到位、Maven搭建 SSH环境 动态web项目
- Maven之profile实现多环境配置动态切换
- maven环境搭建与maven项目运行
- [原]项目进阶 之 持续构建环境搭建(三)Maven环境搭建
- maven管理android项目 环境搭建
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
- maven环境及项目创建
- Juno版本的Eclipse才支持将Maven的webapp项目转换成3.0版本的动态网页模板吗?
- J2EE项目动态切换数据库连接的问题
- 用动态web工程建一个Maven项目
- 项目构建之maven篇:1.环境搭建
- maven 动态web项目jar包冲突
- maven管理android项目 环境搭建
- 通过maven管理项目的生产、开发和测试环境的配置文件
- maven项目在eclipse开发环境中运行的部分参数设置