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>
  • 相关阅读:
    [Go] 写文件和判断文件是否存在
    [日常] 解决github速度特别慢
    [Go] imap收信非并发
    [Linux] 使用secureCRT实现SSH隧道服务器端口转发到本机内网穿透
    [Linux] 解决nginx: [emerg] directive "rewrite" is not terminated by ";"
    [MySQL] 解决Error 1698: Access denied for user 'root'@'localhost'
    [Go] gocron源码阅读-判断是否使用root用户执行
    [日常] 前端资源测试机上忽略版本号的的nginx配置
    [Go] 使用go mod安装beego
    [Go] tcp服务下的数据传递
  • 原文地址:https://www.cnblogs.com/stono/p/9800182.html
Copyright © 2011-2022 走看看