`
dbp_cn
  • 浏览: 86387 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

maven profile实现多环境打包

 
阅读更多

项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,通过maven可以实现按不同环境进行打包部署,命令为: 

mvn package -P dev

其中“dev“为环境的变量id, 可以自己定义, 我定义的名称为:dev,qa,pre,prod , 具体在pom.xml中的配置如下:

 

[html] view plain copy
 
 print?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  4.     ......  
  5.   
  6.     <profiles>  
  7.         <profile>  
  8.             <id>dev</id>  
  9.             <properties>  
  10.                 <env>dev</env>  
  11.             </properties>  
  12.             <activation>  
  13.                 <activeByDefault>true</activeByDefault>  
  14.             </activation>  
  15.         </profile>  
  16.         <profile>  
  17.             <id>qa</id>  
  18.             <properties>  
  19.                 <env>qa</env>  
  20.             </properties>  
  21.         </profile>  
  22.         <profile>  
  23.             <id>pre</id>  
  24.             <properties>  
  25.                 <env>pre</env>  
  26.             </properties>  
  27.         </profile>  
  28.         <profile>  
  29.             <id>prod</id>  
  30.             <properties>  
  31.                 <env>prod</env>  
  32.             </properties>  
  33.         </profile>  
  34.     </profiles>  
  35.       
  36. ......   
  37.   
  38.     <build>  
  39.         <filters>  
  40.             <filter>config/${env}.properties</filter>  
  41.         </filters>  
  42.         <resources>  
  43.             <resource>  
  44.                 <directory>src/main/resources</directory>  
  45.                 <filtering>true</filtering>  
  46.             </resource>  
  47.         </resources>  
  48.   
  49.         ......  
  50.   
  51.     </build>  
  52. </project>  

 

1.profiles定义了各个环境的变量id

2.filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profile中定义的值

3.resources中是定义哪些目录下的文件会被配置文件中定义的变量替换,一般我们会把项目的配置文件放在src/main/resources下,像db,bean等,里面用到的变量在打包时就会根据filter中的变量配置替换成固定值

如果 希望不打包而将变量替换成固定值,可以运行 mvn source:source

分享到:
评论

相关推荐

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

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

    Java随手笔记8之包、环境变量和访问控制及maven profile实现多环境打包

    Java编程语言中的包(Package)是一种用于组织类和接口的方式,它能帮助开发者将...在pom.xml中配置profiles时,可以设置不同的、、等元素,以便根据不同的环境变量id激活相应的profile,从而实现多环境的打包和部署。

    maven多环境配置打包

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

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

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

    使用maven Filtering实现多环境构建

    本文将深入探讨如何使用Maven Filtering实现多环境构建。 首先,理解Maven的`Profiles`概念是关键。在Maven中,`Profiles`是一组可选的配置,可以根据特定条件(如操作系统、JDK版本或命令行参数)激活。这些配置...

    maven 一键打包

    此时,可以通过Maven的profile功能,定义不同环境的配置,并在打包时选择相应的profile。 ### Maven profile Profile是Maven中的一个概念,用于根据不同的环境条件启用或禁用一组设置。例如,你可以创建名为`dev`、...

    maven多环境部署pom文件实例

    本文将深入探讨如何使用Maven的POM(Project Object Model)文件实现多环境部署,使得代码能够在开发、测试和生产等不同环境中无缝切换。 首先,让我们理解什么是POM文件。POM是Maven的核心概念,它是一个XML文件,...

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

    从多数据源配置以支持复杂的数据库架构,到日志管理以保证系统的可观察性,再到Maven多环境打包以实现灵活的部署策略,最后到Redis集成以提升系统的性能和可扩展性,这些都是构建健壮、高效应用的基础。开发者应当...

    Maven在Windows下环境搭建

    默认情况下,Maven的本地仓库位于`%USERPROFILE%\.m2\repository`。 **六、使用Maven构建项目** 现在你已经具备了基本的Maven环境,可以开始创建或导入项目。在命令行中进入项目根目录,使用`mvn clean compile`...

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

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

    jenkins+maven+svn+springboot实现一件打包发布

    ### Jenkins + Maven + SVN + SpringBoot 实现一键打包发布 #### 安装 Jenkins 1. **下载 Jenkins** 首先前往 Jenkins 官网下载 Jenkins,官网上提供了两个下载选项: - 如果用于公司环境,建议选择左侧的企业...

    Maven 配置文件替换插件,实现不同环境打包不同配置 丢弃profile冗长配置的 不二之选.zip

    同时,可以设置MAVEN_HOME环境变量,指向Maven的安装目录。 测试安装。打开命令提示符(或新的cmd窗口),输入mvn -version。如果显示Maven的版本信息,说明安装成功。 配置Maven本地仓库和中央仓库

    maven免安装绿色环境

    6. **聚合与继承**:Maven支持多模块项目,通过聚合(aggregation)和继承(inheritance)特性,可以方便地管理多个子项目,并实现共享配置。 7. **仓库管理**:Maven默认使用Maven Central Repository作为远程仓库...

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

    Maven 提供了 Profile 功能,可以让我们定义多个配置文件,然后根据不同的环境激活不同的配置文件,从而达到不同环境使用不同配置信息的效果。 Profile 定义的位置有三种: 1. 针对于特定项目的 Profile 配置,...

    maven3.2.5下载

    7. ** Profiles**:Maven的Profile功能允许根据不同的环境(如开发、测试、生产)配置不同的属性和依赖,方便在不同环境下构建项目。 8. **构建过程**:Maven3.2.5通过简单的命令行指令(如`mvn clean install`)...

    如何提高Maven多模块项目编译速度.docx

    在开发大型Java项目时,Maven多模块结构的使用非常常见,它可以帮助我们更好地管理和组织代码。然而,当项目变得庞大时,编译速度可能会成为一个显著的问题。以下是一些优化Maven多模块项目编译速度的策略: 1. **...

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

    ### Maven安装指南:详细步骤与环境配置教程 Maven是一个非常重要的项目管理和构建自动化工具,主要用于基于Java的应用程序。通过Maven,开发者可以方便地管理项目依赖、构建过程以及项目文档,大大提高了开发效率...

Global site tag (gtag.js) - Google Analytics