zoukankan      html  css  js  c++  java
  • Maven之打包时配置文件替换

    在JavaWeb项目中,使用maven打包。在打正式包时,需要手动修改数据库配置为线上环境的地址,这样每次修改起来比较麻烦。

    搜索了一些资料后,大部分的做法或原理都是预先使用表达式占位符,然后在打包时动态替换。

    但这种做法无法满足我直接在开发环境(Eclipse+Tomcat)里面直接测试,因为配置文件里面的值是表达式而不是真正的值。所以综合一些资料有个以下解决办法。

    1. 正常配置的数据库配置为测试环境的地址
    2. maven打包时动态替换配置文件

    项目结构图如下

    具体实现

    • 在开发环境中测试时使用图中测试的数据库配置
    • maven打包时利用ant插件,使用classpath:product/jdbc.properties替换classpath:jdbc.properties,具体做法是在pom.xml中做如下配置
        <profiles>
            <profile>
                <id>prod</id> <!--指定ID-->
                <build>
                    <plugins>
                        <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                            <version>1.8</version>
                            <executions>
                                <execution>
                                    <phase>compile</phase>
                                    <goals>
                                        <goal>run</goal>
                                    </goals>
                                    <configuration>
                                        <tasks>
                                            <!-- 替换jdbc.properties-->
                                            <copy file="${basedir}/src/main/resources/product/jdbc.properties" tofile="${basedir}/target/classes/jdbc.properties" overwrite="true"/>
                                            <delete dir="${basedir}/target/classes/product"/>
                                        </tasks>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </build>
            </profile>
        </profiles>
    
    • 打包时指定profile,打包命令为: mvn clean package -P prod

    总结

    这种的做法同样也可以替换其他相关配置,比如log4j相关的配置。

  • 相关阅读:
    完数
    自定义的allocator
    成绩的处理
    R语言-线性回归(1)
    R语言-朴素贝叶斯分类器(1)
    R语言控制流
    leetcode Two sum
    数据库环境搭建
    表单验证制作注册页面
    表单验证
  • 原文地址:https://www.cnblogs.com/ConciseAaron/p/6089782.html
Copyright © 2011-2022 走看看