# 如何使用 Maven 配置文件 > 原文: [https://javatutorial.net/how-to-use-maven-profiles](https://javatutorial.net/how-to-use-maven-profiles) 简而言之, [Maven](https://javatutorial.net/how-to-install-maven-on-windows-linux-and-mac) 配置文件是一组覆盖默认值的配置值。 通过使用它,您可以为不同的环境(生产/开发)创建自定义版本。 ![java-featured-image](img/e0db051dedc1179e7424b6d998a6a772.jpg) 在继续学习本教程的内容之前,假定您已经安装了 Maven。 如果您不这样做,请按照本教程 的逐步指南进行操作。 要在 Maven 中指定配置文件,您需要使用 **pom.xml** 文件中的 activeProfiles 或配置文件元素。 pom.xml 在**运行时**时被修改。 有 3 种构建配置文件类型。 1. 每个项目 1. 在 pom.xml 文件中定义 2. 每位使用者 1. 在 Maven 设置 xml 文件(%USER_HOME%/。m2 / settings.xml)中定义 3. 全球 1. 在 Maven 全局设置 xml 文件(%M2_HOME%/ conf / settings.xml)中定义 如何提示 Maven Build 配置文件? 有两种方法: 1. 终端–本教程涵盖 2. Maven 设置–本教程涵盖 3. 环境变量–在本教程中涵盖 4. 操作系统设置 5. 存在或缺少文件 ### 显式激活配置文件 创建您的 Maven 项目(如果尚未创建),然后创建第一个简单的配置文件 test1。 这是我添加的 pom.xml 代码 ```java 4.0.0 mavenprofilesdemo mavenprofilesdemo jar 0.0.1-SNAPSHOT Maven Quick Start Archetype http://maven.apache.org junit junit 3.8.1 test test1 org.apache.maven.plugins maven-compiler-plugin true 1.5 ``` 配置文件->配置文件-> **id** ; 那是我们指定如何引用配置文件的地方。 不要错过该行,这很重要,因为它不仅是必填项,而且如果您省略它,则将无法访问您的个人资料。 我们在 pom.xml 文件中所做的是,我们已覆盖了编译器插件设置。 我们已将编译器的版本设置为 1.5,并将 fork 设置为 true。 请记住,在这种情况下,我们仅创建了 1 个配置文件,但是我们也可以在<配置文件>标签内添加更多<配置文件>标签。 覆盖所需的插件之后,该运行我们的配置文件了。 您可以通过在命令行中输入 **mvn test -P < id >** 来运行它 在我们的例子中,我们需要编写 **mvn test -Ptest1** ,因为我们创建的个人资料给我们提供了值为“ test1”的 ID。 现在转到项目的文件夹位置,然后输入 **mvn test -P <您的配置文件 ID >。** 如果我在上面的示例中运行此命令,则得到的结果是: ```java [INFO] Scanning for projects... [INFO] [INFO] ----------------< mavenprofilesdemo:mavenprofilesdemo >----------------- [INFO] Building Maven Quick Start Archetype 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mavenprofilesdemo --- [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory D:\Eclipse Projects\mavenprofilesdemo\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ mavenprofilesdemo --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ mavenprofilesdemo --- [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory D:\Eclipse Projects\mavenprofilesdemo\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ mavenprofilesdemo --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ mavenprofilesdemo --- [INFO] Surefire report directory: D:\Eclipse Projects\mavenprofilesdemo\target\surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running mavenprofilesdemo.mavenprofilesdemo.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.072 s [INFO] Finished at: 2019-08-18T09:15:55+01:00 [INFO] ------------------------------------------------------------------------ ``` ### 使用 Maven 设置激活配置文件 导航到您的用户主目录,然后打开 **.m2** 文件夹。 如果那里没有 settings.xml 文件,请创建一个。 然后将我们创建的配置文件添加为活动配置文件。 使用以下代码: ```java maven.dev.snaponglobal.com Internal Artifactory Maven repository http://repo1.maven.org/maven2/ * test ``` 现在,导航到包含 **pom.xml** 文件的文件夹并执行 **mvn 测试。** ### 使用环境变量激活配置文件 删除 settings.xml 文件并在**名称**标签中添加 **env** 值。 像这样: ```java test env test1 ``` 您必须创建一个称为 env 的环境变量,并将其值设置为“ test1”。 导航到包含 pom.xml 的文件夹,然后键入 **mvn test。** 如果您希望将自定义库包含到 maven 本地存储库中,可以遵循[本文](https://javatutorial.net/how-to-include-custom-library-into-maven-local-repository)。