您的位置:首页 > 其它

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就是切换到线上环境的配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息