`
bibithink
  • 浏览: 29134 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Maven filter 配置的使用

阅读更多
 
目标
通过 Maven 的 filters 机制对不同环境(开发、预发布、生产)应用不同的配置信息
 
步骤
1. 首先需要配置 profile 信息,在不同的 profile 中指定变量 “env”为不同的值
<profiles>
    <!-- 开发/测试环境,默认激活 -->
    <profile>
        <id>debug</id>
        <properties>
            <env>debug</env>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault><!--默认启用的是debug环境配置-->
        </activation>
    </profile>
    <!-- 预发布环境 -->
    <profile>
        <id>staging</id>
        <properties>
            <env>staging</env>
        </properties>
    </profile>
    <!-- 生产环境 -->
    <profile>
        <id>online</id>
        <properties>
            <env>online</env>
        </properties>
    </profile>
</profiles>
 
2. 生成不同环境的配置文件
在 src/main/filters/ 目录下分别创建三个配置文件
filters.debug.properties
filters.staging.properties
filters.online.properties
配置文件中以 key=value 的形式配置一些参数信息,如:
database.driverClassName=com.mysql.jdbc.Driver
database.url=jdbc:mysql://127.0.0.1:8066/testdb?createDatabaseIfNotExist=true&amp;useUnicode=true
database.userName=username_for_debug
database.password=password_for_debug
 
3. 配置 Maven 编译时的过滤规则
在工程的 pom.xml 中添加如下配置信息
<build>
    <filters>
        <filter>src/main/filters/filters.${env}.properties</filter>
    </filters>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>
 
4. 在资源文件中引用 filters 文件中配置的参数
这里以在 spring 配置文件中的使用举例说明
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
      destroy-method="close">
    <property name="driverClass" value="${database.driverClassName}"/>
    <property name="jdbcUrl" value="${database.url}"/>
    <property name="user" value="${database.userName}"/>
    <property name="password" value="${database.password}"/>
    。。。
</bean>
 
5.编译工程
我们在编译的时候需要指定 profile 信息,以便 Maven 找到对应的 filters 文件进行过滤。具体的编译命令如下,最后一个参数指定了编译的 profile 是 debug:
mvn clean package -pl com.bibithink.fooservice -am -Dmaven.test.skip -Pdebug
 
分享到:
评论

相关推荐

    maven 简单实用的配置,打包,获取svn版本号

    maven 简单实用的配置,打包,获取svn版本号、仓库等等实用

    SpringMVC+Mybatis+Maven 纯XML配置

    1,搭建SpringMVC 2,加载properties配置文件 3,集成mybatis 4,配置事务 5,另一种配置springMVC的方式 6,自定义(扩展)mvc配置 7,解决@ResponseBody return String的中文乱码问题 ...10,配置filter 11,配置拦截器

    单点登录sso-shiro-cas-maven

    spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...

    springmvc+mybatis+maven完整项目代码

    springmvc+mybatis+maven完整项目代码,麻雀虽小,五脏俱全。该项目可以说是当前目前最主流,性价比最好的web框架了,也就是SSM框,下载后可直接导入eclipse运行,代码中还包含了mybatis自动生成配置文件。珍藏,忍痛...

    基于MyEclipse搭建maven+springmvc整合图文教程(含源码0

    使用Maven POM editor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入spring-web,就会自动搜索关于spring-web相关的jar包,我们选择3.0.5版本的spring...

    osgi session共享 支持springmvc 配置个filter即可

    karaf中不同bundle之间session共享实现,将代码用maven打下包,放入karaf,即可提供服务,在需要session共享的bundle中配置filter即可。

    GeoServer配置解决cors跨域问题的依赖jar包和配置说明.zip

    geoserver跨域设置: 1、将cors-filter-2.4.jar和java-...6、如果目录中存在maven,需要在pom.xml中,添加 &lt;groupId&gt;com.thetransactioncompany&lt;/groupId&gt; &lt;artifactId&gt;cors-filter [ version ] &lt;/dependency&gt;

    简单配置 shiro + spring +springMVC+hibernate简单框架

    maven 的pom.xml 配置 &lt;!-- shiro简单配置 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt; &lt;artifactId&gt;shiro-core&lt;/artifactId&gt; &lt;version&gt;1.2.0&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; ...

    maven-war-plugin:Java WEB JS,CSS,HTML压缩,代码注入,静态资源文件引用文件MD5处理等等

    ####项目描述该Maven插件在apache的maven-war-plugin插件基础之上扩展配置文件package.conf复制到maven资源文件路径即可 package.conf 配置如下: #CDN HOST cdn.base.url=http://xxx.cdn.com/ #Jsp中Script.src,...

    Jetty中文手册

    如何在Maven中使用Jetty 如何在Ant中使用Jetty Maven和Ant的更多支持 Jetty Maven插件(Plugin) Jetty Jspc Maven插件(Plugin) Maven web应用工程原型 Ant Jetty插件(Plugin) 使用集成开发环境(IDEs) 在...

    web项目跨域jar包

    cors-filter-1.7.jar和java-property-utils-1.9.jar

    aempackagediff-maven-plugin:Maven插件可生成仅包含两次提交之间的更改的AEM软件包,从而可以构建diff软件包

    然后,更改已配置的filter.xml文件,使其仅包含已更改文件的过滤器定义。 ## Configuration这是插件的示例配置: &lt; profile&gt; &lt;!-- We define a custom profile for this, so that it is not executed by default...

    springboot参考指南

    使用Gradle自定义配置进行Repackage i. 59.8.1. 配置选项 Spring Boot参考指南 6 ix. 59.9. 理解Gradle插件是如何工作的 iii. 60. 对其他构建系统的支持 i. 60.1. 重新打包存档 ii. 60.2. 内嵌的库 iii. 60.3. 查找...

    spring mvc项目

    spring mvc maven项目,导入IDEA后无报错,需要在IDEA中配置Tomcat并将项目添加到tomcat才能运行。 可用于分析spring mvc源码、spring mvc父子容器初始化流程、session和cookie机制、spring session等,也可以用于...

    jasper-cypher-filter-plugin

    在 maven 项目的 src/main/resources 中创建一个名为 filter.properties 的过滤器文件。 ... somekey=value jdbc.jasper_host=localhost jdbc.jasper_port=3306 jasper.schemaname=jasperschema jdbc.jasper_...

    老杜Servlet笔记.zip

    哔哩哔哩上老杜的Servlet笔记。...2020-5-17 IDEA中的Maven的简单使用 2020-5-18 JavaWeb学习 2020-5-19 JavaWeb学习 2020-5-21 JavaWeb学习 JSP,EL,JSTL,Filter, 2020-5-23 MVC、三层设计 2020-5-24 数据分页展示

    实现跨域的JAR包

    Tomcat下的配置 下载cors-filter-1.7.jar,java-property-utils-1.9.jar这两个库文件,放到lib目录下。(可在 http://search.maven.org上查询并下载。)工程项目中web.xml中的配置如下: [html] view plaincopy在...

    rss-filter:命令行 RSS 聚合器和过滤器(用 Java 编写)

    概述作者使用 rss-filter 的默认配置(参见config.java-backend.yml ,该文件不言自明)搜索远程编程作业(在 Java 后端区域)。 但是,该工具可用于其他任何用途。 rss-filter 可以下载 RSS/ATOM 提要并根据全文...

    ixortalk.aws.cognito.jwt.security.filter:用于解码Cognito JWT IdToken的Spring Boot安全过滤器

    可以像这样将其添加到基于Maven的项目中: &lt;dependency&gt; &lt;groupId&gt;com.ixortalk&lt;/groupId&gt; &lt;artifactId&gt;ixortalk.aws.cognito.jwt.security.filter&lt;/artifactId&gt; &lt;version&gt;0.0.7&lt;/version&gt;&lt;/dependency&gt;或使用...

    springsecurity

    idea搭建工程, maven管理jia包,个人精华总结: 配置了tomcat的maven插件,启动的时候只要配置tomcat插件就好了。 访问地址:http://localhost/api/login

Global site tag (gtag.js) - Google Analytics