profile
简介
使用profile可以实现代码在不同的场景下的自动切换。如我们平常常见的dev/test/pro三套环境的不同切换。下面的demo,配置了三套环境变量,dev/test/pro,通过maven profile的形式实现环境变量间的切换。
demo
- 首先,我们在项目resources下建立三套环境变量
- pom文件中配置profile
- 执行命令实现profile间切换
项目中环境变量结构及环境变量中内容如下(各环境变量中内容字段名称一致,内容设置为不同的值):
pom文件中配置如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yanmei</groupId>
<artifactId>maven-project</artifactId>
<version>1.0-SNAPSHOT</version>
<profiles>
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>conf/**</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/conf/${profiles.active}</directory>
</resource>
</resources>
</build>
</project>
最后执行命令mvn clean install -P test。 -P指定要执行的是哪个profile,test为profile的id ,如不指定profile,则执行默认的配置。即配置 activeByDefault属性的profile。
执行完,查看target目录下面生成的properties文件,可见profile配置已经生效。
archetype模板
简介
使用archetype模板,可以将自己从网上找到的或者自己创建的优秀项目创建为模板,下次想复用时,直接根据模板创建。archetype可以自动将项目名、包名等信息改为你自己的,非常方便进行复用。
使用步骤
生成一个archetype
- mvn archetype:create-from-project
- cd /target/generated-sources/archetype
- mvn install
使用archetype创建项目,创建时,注意将目录切到相应的目录,不能再次target目录下创建
mvn archetype:generate -DarchetypeCatalog=local