maven项目动态替换配置中的值

  为何一些maven项目可以替换配置文件中的变量?

  比如说一个log4j.properties文件中:

logFolder=${log4j.folder}
BufferedIO=${log4j.bufferedIO}
ImmediateFlush=${log4j.immediateFlush}

# 根日志(没有指定自定义logger的会使用此配置)    日志等级阀门在此
#debug
log4j.rootLogger=info,commonLog,errorLog

  变量${log4j.folder}??${log4j.bufferedIO}??${log4j.immediateFlush}??可是我打包后就变成具体的变量了?

    <profiles>
        <profile>
            <id>prod</id>
            <properties>
                <env>prod</env>
                <log4j.folder>/home/logs/</log4j.folder>
                <log4j.bufferedIO>true</log4j.bufferedIO>
                <log4j.immediateFlush>true</log4j.immediateFlush>
            </properties>
        </profile>
    </profiles>

    <properties>
        <!-- 默认研发环境 -->
        <env>dev</env>
        <log4j.folder>E:/logs/</log4j.folder>
        <log4j.bufferedIO>false</log4j.bufferedIO>
        <log4j.immediateFlush>false</log4j.immediateFlush>
    </properties>

  当然了, 需要配置的。参考下面的:

    <!--
        resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。
     -->
    <build>
        <resources>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/resources</directory>

                <!-- 只替换properties文件
                <includes>
                    <include>**/*.properties</include>
                </includes>
                 -->
            </resource>
        </resources>

    </build>

  不求深入了解。。。

  参考:http://blog.csdn.net/xiao_jun_0820/article/details/49864285

时间: 2024-08-05 03:01:29

maven项目动态替换配置中的值的相关文章

eclipse 创建maven 项目 动态web工程(出现问题)

Eclipse 创建maven 项目 动态web工程 注:Eclipse版本为(Version: Mars.1 Release (4.5.1))maven版本为(apache-maven-3.3.9) 1. 此处是在你安装好了maven插件的前提下进行的并且配置好了你的maven环境指定好了你的maven的本地仓库.下面就开始maven web项目的搭建 首先:点击新建一个项目maven 2.点击next 3.选择web选项 4.创建你的项目的坐标点击finish完成 5.项目创建完成但是有错误

Eclipse如何导入maven项目,以及配置maven

Eclipse如何导入maven项目,以及配置maven 一.准备工作 1. eclipse,安装了eclipse 2. 一个需要导入的maven项目 3. 下载好了的压缩包apache-maven-3.5.3 二.在eclipse中配置maven 1, 将下载好了的maven压缩包解压到自己想放的位置 2,打开eclipse,点击preferences配置maven(MacBook在导航栏的eclipse选项下,windows系统的请在导航栏的windows选项下) 三.导入maven项目 1

maven项目放入tomcat中找不到jar包

maven项目放入tomcat中时,总是报错,而且这些jar都是真实存在的,错误如下: maven eclipse tomcat java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 解决办法:

eclipse 创建maven 项目 动态web工程完整示例

需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了 没有的话需要安装maven 1.新建maven项目,如果不在上面,请到other里面去找一下 2,进入maven项目之后,点击next 选择webapp之后  next 输入两个id  package可以不写,是它默认帮你新建一个包,不写没关系 会生成一个这样目录的项目 2,配置maven 首先新建几个文件夹 2.1

mybatis &lt;sql /&gt; 配置中 返回值 resultType 与resultMap的区别

mybatis的objectMapper.xml中, 1) 若<sql /> 查询语句中配置的是resultType=“实体类/DTO” ,则从mybatis返回的键值对结果集(Map)会直接赋值给该DTO(根据set()/get()方法,因此该DTO属性名要与表字段名一致,若不一致,可再sql查询语句中用as 更换查出来表字段名)中相映射的属性值,而与该mappper.xml文件配置<mapper/>里的<resultMap />无关. 2)若<sql />

Java动态替换InetAddress中DNS的做法简单分析1

在java.net包描述中, 简要说明了一些关键的接口. 其中负责networking identifiers的是Addresses. 这个类的具体实现类是InetAddress, 底层封装了Inet4Address与Inet6Address的异同, 可以看成一个Facade工具类. A Low Level API, which deals with the following abstractions: Addresses, which are networking identifiers,

在myeclipse中直接将maven项目运行在tomcat中

建立的maven项目要设置依赖的maven的jar构建项目时输出到lib目录下: 同时设置将整个项目输出 这样,整个项目才会输出到tomcat的webapps目录下 可以修改项目的访问url: 一般设置为项目名称 运行

Java动态替换InetAddress中DNS的做法简单分析2

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.net.HttpURLConnection; import java.net.InetAddress;

转 apollo客户端实现不重启项目动态获取配置

一.准备工作 1.1 环境要求 Java: 1.7+ Guava: 15.0+ Apollo客户端默认会引用Guava 19,如果你的项目引用了其它版本,请确保版本号大于等于15.0 注:对于Apollo客户端,如果有需要的话,可以做少量代码修改来降级到Java 1.6,详细信息可以参考Issue 483 1.2 必选设置 Apollo客户端依赖于AppId,Apollo Meta Server等环境信息来工作,所以请确保阅读下面的说明并且做正确的配置: 1.2.1 AppId AppId是应用