maven pom filter 导致的问题记录

Maven提供了一个很不错的功能 Resource Filter, 可以将按不同环境的进行变量赋值, 比如数据库链接, redis, 日志输出位置等等.. 具体的filter如何使用我这里不做介绍, 只是把一些问题记录下来

1. spring中使用的如果是 xxx.properties文件中的值, maven的filter会将这些值直接替换掉, 这是我们不想看到的

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUrl" value="#{‘${db.url}‘ == ‘‘ ? T(com.vip.fds.core.util.SystemEnvUtil).getDBUrl(‘MGMT‘) : ‘${db.url}‘}" />
        <property name="user" value="#{‘${db.user}‘ == ‘‘ ? T(com.vip.fds.core.util.SystemEnvUtil).getDBUsername(‘MGMT‘) : ‘${db.user}‘}" />
        <property name="password" value="#{‘${db.password}‘ == ‘‘ ? T(com.vip.fds.core.util.SystemEnvUtil).getDBPassword(‘MGMT‘) : ‘${db.password}‘}" />
        <property name="idleConnectionTestPeriod" value="100" />
        <property name="preferredTestQuery" value="SELECT 1" />
        <property name="maxIdleTime" value="600" />
        <property name="acquireIncrement" value="2" /><!-- 当连接池里面的链接用完的时候, c3p0一次性获取的连接数 -->
        <property name="maxPoolSize" value="20" /><!-- 最大连接数 -->
        <property name="minPoolSize" value="2" /><!-- 最小连接数 -->
        <property name="testConnectionOnCheckin" value="true" />
        <property name="testConnectionOnCheckout" value="true" />
    </bean>

2. src/main/resources/ 目录中有一些用于其他目的的二进制文件, 比如就像qq的地址库, 这些文件会被filter扫描到并且改变编码格式, 你就会发现单元测试一些ok, 打成war包部署这个文件对应的解析功能就失败

这时, exclude和include的功能就来了, 通过它, 你可以定义目录下的那些子目录需要(不需要)进行filter替换, 这样就可以做到精确的控制

<build>
<filters>
            <filter>src/main/resources/filters/filter-${env}.properties</filter>
        </filters>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>spring/*</exclude>
                    <exclude>filters/*</exclude>
                    <exclude>*.dat</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <includes>
                    <include>spring/*</include>
                    <include>*.dat</include>
                </includes>
            </resource>
        </resources>
</build
时间: 2024-10-14 03:07:40

maven pom filter 导致的问题记录的相关文章

学习笔记——Maven pom.xml配置详解

POM的全称是“ProjectObjectModel(项目对象模型)”. pom.xml详解 声明规范 <projectxmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apach

Maven pom.xml 配置详解

什么是pom?    pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素. pom.xml 配置文件 <project> <parent> ... </parent> <modelVersion>4.0.0</modelVersion> <!-- The Basics

maven pom.xml jar文件下载

If you need to download the jars instead of using a build system, create a Maven pom file like this with the desired version: <?xml version="1.0"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.

Java-Maven-Runoob:Maven POM

ylbtech-Java-Maven-Runoob:Maven POM 1.返回顶部 1. Maven POM POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等. 执行任务或目标时,Maven 会在当前目录中查找 POM.它读取 POM,获取所需的配置信息,然后执行目标. POM 中可以指定以下配置: 项目依赖 插件 执行目标 项目构建 profile 项目版

Maven pom.xml文件详解

Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml文件. pom.xml文件以xml的 形式描述项目的信息,包括项目名称.版本.项目id.项目的依赖关系.编译环境.持续集成.项目团队.贡献管理.生成报表等等.总之,它包含了所有的项目 信息. <project xmlns="http://maven.apache.org/POM/4.0.0&q

Maven pom.xml 全配置(一)常用配置

Maven pom.xml 全配置(一)常用配置 这里贴出一个Maven中出现频率较高的配置参数注释,方便理解项目中Maven的配置具体的作用.如果在此博文中没有找到你想看到的参数,可以移步Maven pom.xml 全配置(二)不常用配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc

Maven pom.xml 全配置(二)不常用配置

Maven pom.xml 全配置(二)不常用配置 这里贴出Maven pom.xml文件中使用率较少的配置参数,如果此篇文档中没有找到你想要的参数,移步Maven pom.xml 全配置(一)常用配置 <!-- 项目创建年份,4位数字.当产生版权信息时需要使用这个值. --> <inceptionYear /> <!-- 描述了这个项目构建环境中的前提条件. --> <prerequisites> <!-- 构建该项目或使用该插件所需要的Maven的

Maven - pom.xml 文件

章节 Maven – 简介 Maven – 工作原理 Maven – Repository(存储库) Maven – pom.xml 文件 Maven – 依赖管理 Maven – 构建生命周期.阶段.目标 Maven – profile Maven – 插件 Maven – web 实例 Maven – Eclipse例子 POM是Project Object Model/项目对象模型的缩写.pom.xml文件中包含了依赖关系.构建目录.源目录.测试源目录.插件.目标等项目信息和配置信息.Ma

Unable to import maven project: See logs for details :导致原因就是环境变量配置的maven版本与idea中的maven版本不一致导致的

百度很多都不对,后来受了启发:https://blog.csdn.net/ashleyjun/article/details/101106810想起来去看看环境变量了 导致原因就是环境变量配置的maven版本与idea中的maven版本不一致导致的 2019-11-05 20:19:41,358 [1307037] ERROR - #org.jetbrains.idea.maven - com.google.inject.CreationException: Unable to create i