admin管理员组

文章数量:1530845

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