目标
通过 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&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版本号、仓库等等实用
1,搭建SpringMVC 2,加载properties配置文件 3,集成mybatis 4,配置事务 5,另一种配置springMVC的方式 6,自定义(扩展)mvc配置 7,解决@ResponseBody return String的中文乱码问题 ...10,配置filter 11,配置拦截器
spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...
springmvc+mybatis+maven完整项目代码,麻雀虽小,五脏俱全。该项目可以说是当前目前最主流,性价比最好的web框架了,也就是SSM框,下载后可直接导入eclipse运行,代码中还包含了mybatis自动生成配置文件。珍藏,忍痛...
使用Maven POM editor打开项目中的pom.xml文件,选择Dependencies,在Dependencies栏目点击Add进行,首先弹出一个搜索按钮,例如输入spring-web,就会自动搜索关于spring-web相关的jar包,我们选择3.0.5版本的spring...
karaf中不同bundle之间session共享实现,将代码用maven打下包,放入karaf,即可提供服务,在需要session共享的bundle中配置filter即可。
geoserver跨域设置: 1、将cors-filter-2.4.jar和java-...6、如果目录中存在maven,需要在pom.xml中,添加 <groupId>com.thetransactioncompany</groupId> <artifactId>cors-filter [ version ] </dependency>
maven 的pom.xml 配置 <!-- shiro简单配置 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.0</version> </dependency> <dependency> ...
####项目描述该Maven插件在apache的maven-war-plugin插件基础之上扩展配置文件package.conf复制到maven资源文件路径即可 package.conf 配置如下: #CDN HOST cdn.base.url=http://xxx.cdn.com/ #Jsp中Script.src,...
如何在Maven中使用Jetty 如何在Ant中使用Jetty Maven和Ant的更多支持 Jetty Maven插件(Plugin) Jetty Jspc Maven插件(Plugin) Maven web应用工程原型 Ant Jetty插件(Plugin) 使用集成开发环境(IDEs) 在...
cors-filter-1.7.jar和java-property-utils-1.9.jar
然后,更改已配置的filter.xml文件,使其仅包含已更改文件的过滤器定义。 ## Configuration这是插件的示例配置: < profile> <!-- We define a custom profile for this, so that it is not executed by default...
使用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 maven项目,导入IDEA后无报错,需要在IDEA中配置Tomcat并将项目添加到tomcat才能运行。 可用于分析spring mvc源码、spring mvc父子容器初始化流程、session和cookie机制、spring session等,也可以用于...
在 maven 项目的 src/main/resources 中创建一个名为 filter.properties 的过滤器文件。 ... somekey=value jdbc.jasper_host=localhost jdbc.jasper_port=3306 jasper.schemaname=jasperschema jdbc.jasper_...
哔哩哔哩上老杜的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 数据分页展示
Tomcat下的配置 下载cors-filter-1.7.jar,java-property-utils-1.9.jar这两个库文件,放到lib目录下。(可在 http://search.maven.org上查询并下载。)工程项目中web.xml中的配置如下: [html] view plaincopy在...
概述作者使用 rss-filter 的默认配置(参见config.java-backend.yml ,该文件不言自明)搜索远程编程作业(在 Java 后端区域)。 但是,该工具可用于其他任何用途。 rss-filter 可以下载 RSS/ATOM 提要并根据全文...
可以像这样将其添加到基于Maven的项目中: <dependency> <groupId>com.ixortalk</groupId> <artifactId>ixortalk.aws.cognito.jwt.security.filter</artifactId> <version>0.0.7</version></dependency>或使用...
idea搭建工程, maven管理jia包,个人精华总结: 配置了tomcat的maven插件,启动的时候只要配置tomcat插件就好了。 访问地址:http://localhost/api/login