`

Maven Profile 根据运行环境选择配置文件

阅读更多
前言
在开发和部署过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,配置会不一样,比如数据源配置、消息、缓存、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。maven提供了一种方便的解决这种问题的方案——profile。

Profile简介
profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。
Profile配置作用范围有三种
1.特定项目的profile配置我们可以定义在该项目的pom.xml文件中
2.特定用户的profile配置,我们可以在用户目录下的.m2/settings.xml文件中定义profile
3.全局的profile配置定义在Maven安装目录下的"conf/settings.xml"

使用Profile
下面针对第一种作用范围说明,在项目的pom.xml中添加如下的profile配置:

<profiles>
    <profile>
        <!-- 本地开发环境 -->
        <id>dev</id>
        <properties>
            <profiles.active>dev</profiles.active>
        </properties>
        <activation>
            <!-- 设置默认激活这个配置 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <!-- 生产环境 -->
        <id>prod</id>
        <properties>
            <profiles.active>prod</profiles.active>
        </properties>
    </profile>
    <profile>
        <!-- 测试环境 -->
        <id>test</id>
        <properties>
            <profiles.active>test</profiles.active>
        </properties>
    </profile>
</profiles>

以上定义了三个不同环境下的profile配置,在src/main/resources/目录下定义三个配置文件
分别对应三个不同环境
1.开发环境 application-dev.properties
2.测试环境 application-test.properties
3.生产环境 application-prod.properties

配置Maven资源插件
<build>
        <finalName>mvn-demo-profile</finalName>
        <filters>         
             <filter>src/main/resources/application-${env}.properties</filter>
        </filters>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

参数<filtering>true</filtering>,一定要设置成true.这样才会用对应env参数表示的配置文件。

激活profile
1.使用<activeByDefault>true</activeByDefault>  默认的激活
2.使用-P参数显示激活一个profile,如: mvn package –Pdev
3.使用-Denv=dev 激活 如:mvn -Denv=dev integration-test

Profile的详细使用介绍参见
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
分享到:
评论

相关推荐

    使用maven Profile实现多环境构建

    此外,Profile还能用来管理资源文件,比如数据库连接配置,我们可以为每个环境提供不同的配置文件。 在实际项目中,Profile的使用能够大大提高开发效率,使得构建过程更加灵活,同时避免了代码中的硬编码环境变量,...

    maven利用Profile构建不同环境的部署包

    Maven作为Java项目管理工具,提供了一种强大的特性——Profile,来帮助开发者根据环境条件构建不同的部署包。这篇博客将详细解释如何利用Maven的Profile功能实现这一目标。 首先,我们需要理解Maven Profile的概念...

    Maven的ssm项目配置文件

    - 使用Profile:Maven支持多环境配置,通过Profile可以在开发、测试和生产环境中切换不同的配置。 - 注释和文档:为每个配置项添加注释,解释其用途,方便团队成员理解和维护。 在实际开发中,SSM项目的配置文件...

    maven profile动态选择配置文件详解

    Maven Profile 动态选择配置文件详解 Maven Profile 是 Maven 提供的一种功能,可以让我们定义一系列的配置信息,然后...这样,我们可以根据不同的环境选择不同的配置文件,从而达到不同环境使用不同配置信息的效果。

    Win10 环境下Apache Maven的配置文件以及教程

    Maven的主要配置文件是`settings.xml`,通常位于`%USERPROFILE%\.m2`目录下(在Windows上,这通常是`C:\Users\YourUsername\.m2`)。这个文件包含了Maven的全局配置,如本地仓库位置、远程仓库设置、镜像配置等。 -...

    使用maven Filtering实现多环境构建

    在软件开发过程中,多环境构建是一项重要的任务...总之,Maven Filtering与Profile的结合使用,为Java开发者提供了一种强大且灵活的多环境构建解决方案,使得项目能在不同环境中无缝地运行,提高了开发效率和产品质量。

    maven多环境配置打包

    通常,开发者会创建多个Maven配置文件(profiles),每个文件对应一个特定的环境,然后通过filtering功能过滤资源文件中的变量,实现环境间配置的切换。 【标签】:“源码 工具” “源码”标签暗示了讨论可能涉及...

    Maven安装指南:详细步骤与环境配置教程

    Maven的配置文件`settings.xml`通常位于`conf`目录下。这个文件非常重要,因为它允许用户配置Maven的行为,比如指定本地仓库的位置、设置镜像服务器、配置代理服务器等。默认情况下,Maven会查找用户的主目录下的`....

    maven3配置文件

    配置文件在Maven中起着至关重要的作用,它们定义了项目的属性、构建过程、依赖关系等核心元素。本文将深入探讨Maven3的配置文件及其重要性。 1. **`settings.xml`** - Maven的个人配置文件 `settings.xml`通常位于...

    Maven在Windows下环境搭建

    总结,搭建Maven环境需要安装JDK、下载Maven、配置环境变量和设置文件,然后就可以利用Maven的强大功能来管理Java项目。通过熟练使用Maven,开发者可以更高效地进行项目构建和维护,减少重复工作,提高开发效率。

    自用maven-3.8.4,内含maven配置环境变量保姆级教程.doc

    `pom.xml`是Maven项目的核心配置文件,包含了项目信息、依赖、构建目标等。例如,你可以添加如下依赖: ```xml &lt;groupId&gt;com.example&lt;/groupId&gt; &lt;artifactId&gt;library &lt;version&gt;1.0.0 ``` ### 7. Maven插件...

    win7配置Maven环境变量.rar

    - 在命令行中导航到你的Java项目根目录,运行`mvn clean install`命令,Maven会根据`pom.xml`文件自动构建项目,包括编译、测试、打包等步骤。 8. **图片式操作流程**: - 压缩包中的“win7配置Maven环境变量”...

    jjdk、maven、tomcat的环境配置

    ### jdk、maven、tomcat的环境配置 在进行Java开发时,正确配置JDK(Java Development Kit)、Maven和Tomcat的环境变量是非常重要的一步。这些配置能够确保开发工具能够正确识别并使用这些软件,从而使得项目构建、...

    maven配置.zip

    Maven的全局配置文件settings.xml位于Maven安装目录的conf目录下,它包含了用户级的全局设置,如本地仓库路径、代理服务器配置、远程仓库设置等。这个文件可以覆盖默认的配置,以适应开发者或团队的特定需求。 7. ...

    Maven的下载与环境配置

    本文将详细介绍如何下载Maven并进行环境配置,以解决在命令行中无法正常运行`mvn -v`的问题。 首先,我们需要获取最新版本的Maven。在你的描述中提到,你可能遇到问题是因为使用的Maven版本过低。当前最新版本为`...

    maven配置全局的jdk和配置局部的jdk

    **全局JDK配置**是指在用户的Maven配置文件`settings.xml`中进行设置,这样设置的好处是可以作用于所有通过该Maven环境构建的项目,避免了每个项目都需要单独设置的问题。 ##### 配置步骤 1. **定位配置文件:**...

    Maven学习记录(一):安装与环境配置

    Maven的项目配置文件是`pom.xml`,其中包含了项目信息、依赖管理和构建指令。 **安装Maven** 1. **下载Maven**:访问Apache Maven官方网站(https://maven.apache.org/download.cgi)下载最新版本的Maven压缩包。...

    maven免安装绿色环境

    - `conf` 目录:存放Maven的配置文件,如`settings.xml`,用于设置本地仓库位置、代理服务器等个性化配置。 - `lib` 目录:包含了Maven运行所需的所有库文件。 - `README` 文件:提供了关于如何使用这个免安装版...

Global site tag (gtag.js) - Google Analytics