zoukankan      html  css  js  c++  java
  • 关于maven参数过滤

    一、maven通过设置过滤器,可以使maven在编译打包时实现参数过滤的功能(详细配置说明略)

            <filters>
                <filter>../antx.properties</filter>
            </filters>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                        <include>**/*.txt</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
            </resources>

    这种原生的方式会把指定目录的文件在编译打包时,过滤放到class目录下,但是原文件还是不变

    二、通过maven-war-plugins打包过滤

            <filters>
                <filter>../antx.properties</filter>
            </filters>
            <finalName>matrix-tiao</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.3</version>
                    <configuration>
                        <warName>matrix-tiao</warName>
                        <encoding>GB2312</encoding>
                        <webResources>
                            <resource>
                                <directory>src/main/resources</directory>
                                <filtering>true</filtering>
                                <targetPath>WEB-INF/classes</targetPath>
                            </resource>
                            <resource>
                                <directory>src/main/webapp/WEB-INF</directory>
                                <filtering>true</filtering>
                                <targetPath>WEB-INF</targetPath>
                            </resource>
                            <resource>
                                <directory>../poll/src/main/resources</directory>
                                <filtering>true</filtering>
                                <targetPath>WEB-INF/bean</targetPath>
                            </resource>
                            <resource>
                                <directory>../choice/src/main/resources</directory>
                                <filtering>true</filtering>
                                <targetPath>WEB-INF/bean</targetPath>
                            </resource>
                        </webResources>
                    </configuration>
                </plugin>
            </plugins>

    使用此插件过滤,可以在原文件的目录下替换原文件,而不光是像原生方法那样直接丢到class目录下而不改变原文件。但是此方法还是编译打包期的过滤替换,所以在使用eclipse之类的IDE工具运行项目时,无法使用此方法来做到过滤替换参数。

    三、要做到在IED中运行就能过滤替换参数,可以使用spring的PropertyPlaceholderConfigurer来实现。

  • 相关阅读:
    深入理解JVM(2)——揭开HotSpot对象创建的奥秘
    深入理解JVM(3)——垃圾收集策略详解
    深入理解JVM(4)——对象内存的分配策略
    深入理解JVM(1)——JVM内存模型
    学习 IOC 设计模式前必读:依赖注入的三种实现
    学习Struts--Chap07:Struts2文件上传和下载
    POJ2823_Sliding Window
    POJ3378_Crazy Thairs
    POJ2374_Fence Obstacle Course
    POJ3709_K-Anonymous Sequence
  • 原文地址:https://www.cnblogs.com/xujanus/p/4652717.html
Copyright © 2011-2022 走看看