`

maven多环境配置打包

阅读更多

      在开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,是个很麻烦的事情。有没有一种方法能够让我们不用修改配置就能发布到不同的环境中呢?当然有,这就是接下来要做的事。

      当然,这里的前提是使用maven做为构建工具。

      使用maven来实现多环境的构建可移植性,需要借助maven提供的profile功能,通过不同的环境激活不同的profile来达到构建的可移植性。

 

1、在src/main/resources/filters,建三个文件:dev.properties、test.properties和prod.properties。 

分别放置开发环境、测试环境和生产环境的配置。(假设文件中都设置了jdbc.url属性) 


 
2、新建src/main/resources/conf.properties文件。里面设置 

jdbc.url=${jdbc.url}

 

 

3、配置pom.xml。配置如下 

    <profiles>
        <profile>
            <!-- 开发环境 -->
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>

        <profile>
            <!-- 测试环境 -->
            <id>test</id>
            <properties>
                <env>test</env>
            </properties>
        </profile>

        <profile>
            <!-- 生产环境 -->
            <id>prod</id>
            <properties>
                <env>prod</env>
            </properties>
        </profile>
    </profiles>

    <build>
        <filters>
            <filter>src/main/resources/filters/${env}.properties</filter>
        </filters>
        
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                 <filtering>true</filtering>

                 <!-- optional -->
                 <includes>
                     <include>**/*.*</include>
                 </includes>
                 <excludes>
                     <exclude>filters/</exclude>
                 </excludes>
            </resource>
        </resources>
        
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <encoding>${java.encoding}</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

4、打包。

 

开发环境包
mvn clean install -Denv=dev
mvn clean install

测试环境包
mvn clean install -Denv=test
mvn clean install -Ptest

成产环境包
mvn clean install -Denv=prod
mvn clean install -Pprod

 

 

  • 大小: 3.7 KB
分享到:
评论

相关推荐

    使用maven profile指定配置文件打包适用多环境的方法

    使用maven profile指定配置文件打包适用多环境的方法 Maven Profile是Maven提供的一种配置管理机制,允许开发者在不同的环境中使用不同的配置文件。通过使用Maven Profile,可以轻松地在开发、测试、预演和生产等...

    Springboot与Maven多环境配置文件夹解决方案.docx

    本文介绍了如何使用 SpringBoot 和 Maven 实现多环境配置文件夹解决方案,使用 Profile 功能来加载不同的配置文件,使用 Resources 和 Filter 来指定打包内容和替换变量,选择当前环境,加载对应的配置文件。

    maven 过滤文件夹打包

    "maven 过滤文件夹打包"这个主题涉及到的是如何利用Maven的资源过滤功能来实现针对不同运行环境的配置文件打包。下面将详细解释这一过程。 在开发环境中,我们通常会有多种配置文件,比如`application-dev....

    Maven环境配置

    Maven环境配置 Maven环境配置是指在使用Maven之前需要进行的一系列准备和配置工作,包括环境准备、配置Maven环境变量、修改仓库位置、创建Maven项目等。下面是对Maven环境配置的详细说明: 一、环境准备 在使用...

    maven多环境部署pom文件实例

    在软件开发过程中,尤其是Java应用开发,Maven是...通过阅读和分析这两个文件,你可以更直观地了解如何在POM文件中实现多环境配置。记住,理解和实践是掌握任何技术的关键,所以请动手尝试并根据你的项目需求进行调整。

    springboot项目框架,多数据源配置,日志,maven多环境打包,集成redis

    打包时,通过指定激活的profile,Maven会将相应的配置打包进应用,确保部署到正确的目标环境。 **集成Redis**是SpringBoot的一个常见扩展,Redis是一款高性能的键值存储系统,常用于缓存、消息队列、分布式锁等场景...

    maven+bat打包

    在"maven+bat打包"的场景中,POM.xml文件中会包含一个特定的插件配置,用于执行自定义的批处理脚本。这个脚本通常位于项目目录下,用于执行一系列自动化任务,如清理、复制文件、压缩文件等。例如,我们可能会配置`...

    maven离线安装包(含环境配置文件)

    总结,这个"Maven离线安装包(含环境配置文件)"提供了一种便捷的方式,使得开发者即使在无网络环境下也能搭建和使用Maven环境。它简化了Maven的安装过程,同时方便了Eclipse用户的集成工作,提高了开发效率。无论你...

    springboot+maven打包demo【将依赖与配置文件打包到jar包外部】

    在本文中,我们将深入探讨如何使用Spring Boot和Maven来构建一个项目,使得依赖和配置文件被打包到jar包外部,以实现更加灵活的项目管理。这个方法对于那些需要根据不同环境进行定制配置或者频繁更新配置的应用来说...

    基于Maven+SVN自动打包

    6. **部署**:最后,自动打包的产物可以被部署到测试环境或生产环境,这通常通过Maven的部署插件或者额外的部署脚本来完成。 总结来说,"基于Maven+SVN自动打包"是一种高效的开发实践,它整合了两个强大的工具,...

    maven3.5.4打包文件

    1. **安装 Maven**:下载 Apache Maven 3.5.4 压缩包,解压至指定目录,然后配置环境变量 `MAVEN_HOME` 和 `PATH`。 2. **创建项目**:使用 `mvn archetype:generate` 命令创建一个新的 Maven 项目。 3. **编辑 POM....

    Maven 开发环境配置.pdf

    ### Maven开发环境配置详解 #### 一、Maven简介与作用 Maven 是一个非常流行的 Java 项目管理和构建工具,它能够帮助开发者自动化构建过程、管理项目依赖,并且通过一系列预定义的任务简化软件项目的构建流程。 ##...

    maven的环境搭建、配置和测试

    ** Maven环境搭建、配置与测试 ** Maven是一款强大的项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。它通过使用一个统一的构建过程,简化了项目的构建和维护,使得开发人员能够专注于代码编写,而...

    配置好的maven 3.6.3配置文件以及环境变量设置教程

    在IDE中设置Maven环境变量,可以确保项目使用的是我们刚刚配置好的本地Maven实例。以下是配置步骤: 1. 打开IntelliJ IDEA,进入`File` &gt; `Settings`(Windows/Linux)或`IntelliJ IDEA` &gt; `Preferences`(Mac)。 ...

    springboot实现maven打包加载不同环境的方式二

    当前案例中包含一整套的代码和word文档,非常适合新手... 主要是通过maven打包加载不同环境的properties文件 然后将对于的属性绑定到指定的实体对象中;然后通过调用接口可以看到加载不同环境控制台打印的内容是不一样的

    maven 占位符打包

    总之,Maven的占位符打包技术是解决多环境配置问题的有效手段,它允许我们在一个统一的配置框架下处理研发、测试和生产等不同环境的需求,从而简化项目管理和部署流程。通过熟练掌握这一技术,开发者可以更高效地...

Global site tag (gtag.js) - Google Analytics