不确定如何为构建环境设置 maven 项目,但我对大多数项目使用 maven 资源插件。
项目结构(标准maven结构)
/Project
-/src
--/filters
---/filter.dev.properties
---/filter.test.properties
--/java
--/resources
---/config.properties
pom.xml
应用程序代码使用 config.properties(或其他应用程序配置文件)来配置自身。我有每个环境的过滤器文件,这些文件只保存特定于环境的值,这些将替换 config.properties 中的占位符
我的 POM 文件
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
<filters>
<filter>src/main/filters/filter.${env}.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<env>dev</env>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
</profiles>
默认情况下,当我在本地构建时,我不向 maven 提供配置文件,它将使用 filter.dev.properties 来构建测试环境,在我的 Jenkins 工作中,我使用测试配置文件。