WAR包与配置文件分离(二)
如需转载请标明出处:http://blog.csdn/itas109
QQ技术交流群:129518033
文章目录
- WAR包与配置文件分离(二)
- 前言
- 1.配置pom.xml基础路径
- 2.设置pom.xml参数其他配置文件可用
- 3.其他配置文件使用pom.xml的变量
- 4.指定配置文件的输出
环境:
SpringMVC
Maven:3.3.9
相关阅读:
WAR包与配置文件分离
前言
Java开发中经常打WAR的人会遇到一个问题,每次都得根据部署电脑的IP、路径等信息修改工程中的配置文件。但是每次都这样还是非常烦人的。
下面介绍一下如何将配置文件分离出来,这样每次打WAR包的时候就可以直接将WAR部署就好了,一般不需要关心配置文件的问题。
1.配置pom.xml基础路径
由于我们使用maven,所以这里以pom.xml为根目录进行配置,其他配置采用pom.xml中的参数。
<project xmlns="http://maven.apache/POM/4.0.0"
xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache/POM/4.0.0 http://maven.apache/xsd/maven-4.0.0.xsd">
...
<!-- 自定义属性 -->
<properties>
<!-- 配置文件输出路径 -->
<customConfigDir>c:\\webConfig</customConfigDir>
</properties>
...
</project>
2.设置pom.xml参数其他配置文件可用
filtering标签可以设置pom.xml参数其他配置文件可用
这里以resources为例,设置*.xml和*.properties可以使用pom.xml参数
<build>
<!-- 项目资源清单(可以配置多个项目资源) -->
<resources>
<resource>
<!-- 资源目录(编译时会将指定资源目录中的内容复制到输出目录) -->
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<!-- 是否开启资源过滤(需要引入maven-resources-plugin插件)
| true:将用过滤资源(filters标签)中的内容 替换 资源中相应的占位符(${Xxxx})内容
| false:不做过滤替换操作 -->
<filtering>true</filtering>
</resource>
...
</build>
3.其他配置文件使用pom.xml的变量
这里以src\main\resources\spring-config.xml文件为例
<!--属性配置文件引入 -->
<context:property-placeholder location="file:/${customConfigDir}/${project.artifactId}/config/jdbc.properties"/>
<!--引入其他文件 -->
<import resource="file:/${customConfigDir}/${project.artifactId}/config/spring-mybatis.xml"/>
4.指定配置文件的输出
上面我们在spring-config.xml中配置了相应的路径,但是工程并没有生成对应路径的文件
targetPath标签可以指定输出目录
<build>
<!-- 项目资源清单(可以配置多个项目资源) -->
<resources>
<resource>
<!-- 资源目录(编译时会将指定资源目录中的内容复制到输出目录) -->
<directory>src/main/resources</directory>
<includes>
<include>**/jdbc.properties</include>
<include>**/spring-mybatis.xml</include>
<include>**/spring-quartz.xml</include>
<include>**/spring-shiro.xml</include>
<include>**/*.lic</include>
</includes>
<!-- 输出目录(默认为${build.outputDirectory},即target/classes) -->
<targetPath>${customConfigDir}\${project.artifactId}\config\</targetPath>
<!-- 是否开启资源过滤(需要引入maven-resources-plugin插件)
| true:将用过滤资源(filters标签)中的内容 替换 资源中相应的占位符(${Xxxx})内容
| false:不做过滤替换操作 -->
<filtering>true</filtering>
</resource>
</resources>
...
</build>
Reference:
NULL
觉得文章对你有帮助,可以扫描二维码捐赠给博主,谢谢!
如需转载请标明出处:http://blog.csdn/itas109
QQ技术交流群:129518033
更多推荐
WAR包与配置文件分离(二)
发布评论