Maven根据Profile读取不同配置环境配置文件
来源:互联网 发布:淘宝联盟已结算但没钱 编辑:程序博客网 时间:2024/05/05 18:57
原文链接:http://blog.csdn.net/xiaojiesu/article/details/51866303
开发需求:在日常开发中,我们大多都会有开发环境(dev)、测试环境(test)、生产环境(product),不同环境的参数肯定不一样,我们需要在打包的时候,不同环境打不同当包,如果手动改,一方面效率低,容易出错,而且每次打包都改动,麻烦,所以Maven给我们提供了profile的配置
先贴一段代码,然后后面讲一些概念
1、首先需求就是有三个环境,每个环境的配置参数不一样,希望在打包的时候,不同环境用的配置数据不一样
2、配置文件
下面是spring 数据库连接配置中一段代码,其中数据库连接url, username, password用${key}这种方式
3、pom一些配置
4、最终,执行一个命令,mvn clean package ,我们看下编译后target下面的采用${key}有没有替换
我们看到已经替换为dev的数据库连接,如果想打test的包呢,很简单: mvn clean package -Ptest
好,到此为止,满足了我们的一个基本需求,我们来重点看看pom中的上面贴的配置
分析profile相关概念
1、profiles:定义各个环境的变量配置,我上面的代码中有三个环境,所以配了3个profile
<id>:profile的标示
<properties>:自己定义的一些属性,可有可无,比如我配置的jdbc.url这些属性,如果不想通过properties定义这些,可以在改属性下面配置
<filters>比较重要,指定当前profile环境下,属性文件路径;
分析build下属性
我们分析下<resource>下面的属性
<directory>: 配置那个目录下的文件通过${key}会被替换成属性值,resource目录下,我们一般放jdbc连接,或配置文件
<includes>:指定那个目录下那个文件
<filtering>:这个配置的意思是过滤上面指定属性文件中的占位符,占位符是${变量名称}这样的形式,maven会自动读取配置文件,然后解析其中的占位符,使用上面pom文件中定义的属性进行替换
<exclueds>:在resource目录下,有很多文件,但用些文件不希望替换,则可以通过<excluede>指定
<filters>:这里的filters与<profile>的filter意思一样,都是指属性文件地址,这个如果上面定义<profile>的时候指定了,这里就不需要了,但有些开发习惯是在<profile>不定义,然后在<build>里指定。
好了,只有简单配置这些,在使用maven命令的时候 mvn clean package -PprofileId ,就可以根据不同环境打不同的包了
- Maven根据Profile读取不同配置环境配置文件
- Maven根据Profile读取不同配置环境配置文件
- Maven根据Profile读取不同配置环境配置文件
- Maven根据Profile读取不同配置环境配置文件
- Maven根据Profile读取不同配置环境配置文件
- maven根据profile读取指定环境的配置文件
- 根据不同环境读取不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- 使用Maven的Profile实现根据不同环境选用不同配置
- 使用Maven的Profile实现根据不同环境选用不同配置
- maven 根据环境打包不同配置文件
- Maven根据不同的环境打包配置文件
- Maven根据不同个环境打包, 获取不同的配置文件
- Vue组件间通信
- oracle 同一个数据库,不同用户之间数据交换
- HTML5实现移动端之-rem布局
- 时间管理专题_软件篇01
- python-下载固定百度图片地址
- Maven根据Profile读取不同配置环境配置文件
- Java基础
- 时间管理专题_软件篇02
- Acitivity启动模式
- git本地仓库文件路径发生变化
- 时间管理专题_软件篇03
- A+B的问题
- 了解ActiveMQ
- 自己运动的方块(JS)