zoukankan      html  css  js  c++  java
  • 利用maven的resources、filter和profile实现不同环境使用不同配置文件

    利用maven的resources、filter和profile实现不同环境使用不同配置文件

    https://blog.csdn.net/zhuchunyan_aijia/article/details/50464720

     

    pom.xml:

    <project>
      <build>
        <fileName>app</fileName>
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
          </resource>
          <resource>
            <directory>src/main/filters/META-INF/${env.name}/common</directory>
            <filtering>true</filtering>
            <targetPath>META-INF/common</targetPath>
          </resource>
        </resources>
      </build>
      <profiles>
        <profile>
          <id>dev</id>
          <activation>
            <activeByDefault>true</activeByDefault>
          </activation>
          <properties>
            <maven.val>abc</maven.val>
            <env.name>dev</env.name>
          </properties>
        </profile>
        <profile>
          <id>sit</id>
          <properties>
            <maven.val>def</maven.val>
            <evn.name>sit</env.name>
          </properties>
        </profile>
      </profiles>
    </project>    

    directory:

    src/main/java
    src/main/resources
    src/main/filters/META-INF/dev/common/distribute-session.xml
    src/main/filters/META-INF/sit/common/distribute-session.xml

    maven command:

    mvn clean install -DskipTests -Pdev
    mvn clean install -DskipTests -Psit

    ===============================

    不同的版本需要的配置文件不同:

    <project> ......
    <build> <finalName>tmcweb</finalName> <!--<resources>--> 注意这块不用了,使用profile自己的; <!--<resource>--> <!--<directory>src/main/resources</directory>--> <!--<filtering>true</filtering>--> <!--</resource>--> <!--</resources>--> <plugins> <plugin> 这里是一个插曲 <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> </dependencies> </plugin> </plugins> </build> <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <env>dev</env> </properties> <build> <resources> <resource> 在profile里面引入resource才可以exclude <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>META-INF/common/x-prod.xml</exclude> </excludes> </resource> </resources> </build> </profile> <profile> <id>prod</id> <properties> <env>prod</env> </properties> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>META-INF/common/x-dev.xml</exclude> </excludes> </resource> </resources> </build> </profile> </profiles> </project>

    可以在profile中指定build模块,进行某些war包时html文件的排除

    <profile>
      <id>prod</id>
      <properties>
        <env>prod</env>
      </properties>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
              <packagingExcludes>index.html</packagingExcludes>
            </configuration>
          </plugin>
        <plugins>
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
              <exclude>dev.properties</exclude>
            </excludes>
          </resource>
        </resources>
      </build>
    </profile>
  • 相关阅读:
    JUnit测试框架的简单使用
    [转载文章] 单元测试与单元测试框架
    [转载文章]单元测试基本准则
    [转载文章]Google的Java编程风格指南(Java编码规范)
    设计模式实战——开发中经常涉及到的建造者模式
    痞子衡嵌入式:ARM Cortex-M文件那些事(7)- 反汇编文件(.s/.lst/.dump)
    痞子衡嵌入式:ARM Cortex-M文件那些事(6)- 可执行文件(.out/.elf)
    痞子衡嵌入式:ARM Cortex-M文件那些事(5)- 映射文件(.map)
    痞子衡嵌入式:ARM Cortex-M文件那些事(4)- 可重定向文件(.o/.a)
    痞子衡嵌入式:ARM Cortex-M文件那些事(3)- 工程文件(.ewp)
  • 原文地址:https://www.cnblogs.com/stono/p/9800182.html
Copyright © 2011-2022 走看看