项目配置

项目配置文件位于 src/main/resources 下, 扩展名为 .properties, 可以用于配置不同的环境参数

常用的配置文件命名规则:

文件名称 描述
env.properties 如果没有配置文件关联则使用默认配置
env.test.properties 当测试配置文件用于测试配置
env.prod.properties 生产配置时,prod信息被使用

通过 pom.xml 激活配置文件

pom.xml 中激活配置文件:

<profiles>
    <profile>
        <id>test</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.1</version>
                    <executions>
                        <execution>
                            <phase>test</phase>
                            <goals>
                                <goal>run</goal>
                            </goals>
                            <configuration>
                                <tasks>
                                    <echo>Using env.test.properties</echo>
                                    <copy file="src/main/resources/env.test.properties" tofile
                                            ="${project.build.outputDirectory}/env.properties"/>
                                </tasks>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
    <profile>
        <id>prod</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.1</version>
                    <executions>
                        <execution>
                            <phase>test</phase>
                            <goals>
                                <goal>run</goal>
                            </goals>
                            <configuration>
                                <tasks>
                                    <echo>Using env.prod.properties</echo>
                                    <copy file="src/main/resources/env.prod.properties" tofile
                                            ="${project.build.outputDirectory}/env.properties"/>
                                </tasks>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
    <profile>
        <id>normal</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.1</version>
                    <executions>
                        <execution>
                            <phase>test</phase>
                            <goals>
                                <goal>run</goal>
                            </goals>
                            <configuration>
                                <tasks>
                                    <echo>Using env.properties</echo>
                                    <copy file="src/main/resources/env.properties" tofile
                                            ="${project.build.outputDirectory}/env.properties"/>
                                </tasks>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

执行:

mvn test -P normal
mvn test -P test
mvn test -P prod

在控制台会打印相关的语句, 比如 [echo] Using env.properties

再观察 target/classes 中的变化, 可以看到相关的文件已经复制

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress