WAR包与配置文件分离(二)

编程入门 行业动态 更新时间:2024-10-28 04:31:01

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包与配置文件分离(二)

本文发布于:2023-06-13 14:54:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1382919.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:配置文件   WAR

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!