一个项目开发,可能需要在不同运行环境,比如开发环境,测试环境,正式环境等,profile可以让我们定义一系列的配置信息等。我们可以定义多个profile,然后每个profile对应不同的环境和配置信息,从而达到不同环境使用不同配置信息的效果。
<profiles>
<profile>
<id>dev</id>
<properties>
<build.profile.id>dev</build.profile.id>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<directory>${project.basedir}/target/dev</directory>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy todir="src/main/resources/config/"
overwrite="true">
<fileset dir="src/main/profiles/dev/" />
</copy>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<archiveClasses>true</archiveClasses>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
- mvn package –P dev
如果是eclipse插件执行则