码迷,mamicode.com
首页 > Web开发 > 详细

<html>

时间:2017-08-12 19:02:40      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:博客专家   声明   java   sns   isa   main   地方   eth   社区   

通常一个Mavenproject在整个软件过程中,须要执行在多个不同的环境下,在本地、測试、验证、生产等环境上都须要配置不同的数据库链接或者其它资源。怎样方便的管理我们的多环境配置,并应用于持续交付环境中呢?

  • 在POM.xml中配置Profile。定义不同的配置信息
    <profiles>
        <profile>
            <!-- 本地开发环境 -->
            <id>development</id>
            <properties>
                <profiles.active>development</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 測试环境 -->
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <profile>
            <!-- 生产环境 -->
            <id>production</id>
            <properties>
                <profiles.active>production</profiles.active>
            </properties>
        </profile>
    </profiles>

如上例中,配置了开发、測试、生产三个环境。并将开发环境设置为默认配置,方便开发者手工检出后直接以开发配置执行,而測试环境与生产环境均为非人工操作。通过bamboo或其它工具自己主动通过命令进行调用。

  • POM.xml中配置依据不同环境取不同的配置去构建
<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 资源根文件夹排除各环境的配置。使用单独的资源文件夹来指定 -->
                <excludes>
                    <exclude>test/*</exclude>
                    <exclude>production/*</exclude>
                    <exclude>development/*</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>
                    src/main/resources/${profiles.active}
                </directory>
            </resource>
        </resources>

如上例中,配置了构建文件夹src/main/resources中排除了该文件夹下test、development、production文件夹的全部内容。再引入src/main/resources/${profiles.active}的文件夹内容。因此能够达到test、development、production文件夹内容再构建的时候会选择其一进行打包。

  • project结构
    依据上述配置。在project中,创建test、development、production三个文件夹。将三个环境的不同配置參数均配置当中,已达到不同环境的參数配置独立配置的效果。
    技术分享

  • 构建时激活
    完毕上面配置之后,我们能够通过mvn package命令进行打包看看效果。


    由于profiles.active默觉得development,所以默认按开发环境进行构建的结果会是开发环境的包。若要打其它环境的包时。可參考例如以下命令:
    測试环境:mvn package –P test
    生成环境:mvn package -P production

版权声明:本文为博主原创文章,未经博主同意不得转载。我的个人博客:http://blog.didispace.com 举报
  • 本文已收录于下面专栏:

相关文章推荐

Maven POM.xml 标签具体解释

转载来源不详? pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描写叙述了项目:包含配置文件;开发人员须要遵循的规则,缺陷管理系统,组织和licenses,项目的ur...

Maven settings.xml配置说明

&lt;?xml version="1.0" encoding="UTF-8"?

&gt; &lt;settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/

Maven学习笔记(七) setting.xml 配置具体解释

文件存放位置 <p style="margin: 10px auto; color: #33

maven pom.xml具体解释

project?xmlns="http://maven.apache.org/POM/4.0.0"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...

maven的setting.xml 配置文件具体解释

&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"&gt; &lt;!--本

MAVEN配置具体解释

技术分享
  • ixr_wang
  • 2011-09-27 17:45
  • 4253
  • maven settings 配置说明

    &lt;?

    xml version="1.0" encoding="UTF-8"?

    &gt; &lt;settings xmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "  xsi:schemaLocation="<a h

    maven的settings.xml配置具体解释

    maven的配置文件settings.xml存在于两个地方: 1.安装的地方:${M2_HOME}/conf/settings.xml 2.用户的文件夹:${user.home}/.m2/s...

    maven的setting.xml 配置文件具体解释

    &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"&gt; &lt;!--本

    maven(4)------maven核心pom.xml文件经常使用元素分析

    在maven项目中,pom文件是核心文件 pom.xml: [html] view plain copy xml?version="1.0"?encoding="UTF-8"?>??p...
    • 微博
      微信
      QQ
    收藏助手
    不良信息举报
    您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
    举报原因:
    原因补充:

    (最多仅仅同意输入30个字)

    技术分享

    <html>

    标签:博客专家   声明   java   sns   isa   main   地方   eth   社区   

    原文地址:http://www.cnblogs.com/cynchanpin/p/7351082.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    分享档案
    周排行
    mamicode.com排行更多图片
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!