前提:
假设有2个环境信息,dev和beta;
相同的配置信息在不同的环境下具有不同的值。
1.创建新的配置信息
有关Properties的介绍参考【Properties类读配置文件、修改配置文件】Properties类读取配置文件并修改配置文件_如何修改properties文件_西进No1的博客-CSDN博客
创建一个新的 test.Properties 文件,其中包含以下内容:
名称=测试版
或者
名称=开发人员
放置位置如下:
2.设置不同环境下配置文件的路径
build 元素用于定义项目的构建配置。它包含了与项目的编译、打包、文档生成等操作相关的配置信息。
在pom.xml文件中配置,内容如下:
<project>
...
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
...
</build>
...
</project>
在上面的示例中,该元素包含一个子元素。该子元素指定资源目录为 src/main/resources,包含所有以 .properties 和 .xml 结尾的文件,并将过滤设置为 true。这意味着在构建过程中,Maven会处理该目录下的资源文件,并根据需要进行过滤和替换。
出于本文的目的,可以使用以下内容:
<build>
<resources>
<resource>
<directory>src/main/resources/${profiles.active}</directory>
<includes>
<include>*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
本文的重点是${profiles.active},它是用户选择的配置文件的位置。
3.用户选择环境信息
profile 元素用于定义项目的配置文件。它可以在POM文件中定义一个或多个配置文件。每个配置文件都包含一组配置信息,可以在项目构建时根据需要选择并激活这些配置信息。
以下是包含配置文件元素的 POM 文件示例:
<project>
...
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<database.url>jdbc:mysql://localhost:3306/mydb</database.url>
</properties>
</profile>
<profile>
<id>production</id>
<properties>
<database.url>jdbc:mysql://example.com:3306/mydb</database.url>
</properties>
</profile>
</profiles>
...
</project>
在上面的示例中,profiles 元素定义了两个配置文件:dev 和 production。 dev 配置文件默认设置为激活,其属性定义开发环境的数据库连接 URL。生产配置文件还定义了一个表示生产环境的数据库连接 URL 的属性。
出于本文的目的,可以使用以下内容:
<profiles>
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>beta</id>
<properties>
<profiles.active>beta</profiles.active>
</properties>
</profile>
</profiles>
将以上内容写入pom.xml文件后,在IDEA中可以看到下图。选择任意一项表示选择某一环境的配置文件。
4.设置构建罐名字
完成以上三步后,您就可以根据需要打包不同环境下的配置信息了。为了修改默认的jar名称,可以进行如下修改。
如果您使用的是 Maven,则可以通过 <build> 部分中的 <finalName> 标签在 pom.xml 文件中设置构建的 JAR 名称。例如:
<project>
...
<build>
<finalName>your-project-name</finalName>
...
</build>
...
</project>
此处,your-project-name 应替换为您所需的 JAR 名称。