加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

mvn打包替换jar包中xml的占位符

发布时间:2020-12-16 06:01:50 所属栏目:百科 来源:网络整理
导读:由于某种需求,我们需要依赖另一个应用的jar包以及其中某几个xml的配置文件,恰好引用的这几个xml文件中,用到的占位符。在aone以及本工程里面的antx.properties文件中已经完成了配置,但是在正式maven打包的时候,还是无法替换这些占位符。 怎样才能让这个

由于某种需求,我们需要依赖另一个应用的jar包以及其中某几个xml的配置文件,恰好引用的这几个xml文件中,用到的占位符。在aone以及本工程里面的antx.properties文件中已经完成了配置,但是在正式maven打包的时候,还是无法替换这些占位符。

怎样才能让这个占位符被成功替换呢?

maven打包原理

后续补充

解决方案

  • 将引用的xml需要用到的占位符整理放在一个单独的properties的配置文件里面,命名为XX.properties,文件里面是需要替换的占位符,形如:
ofc.kvstore.server=${ofc.kvstore.server}
ofc.kvstore.port=${ofc.kvstore.port}
  • 在引用jar包xml文件的本工程的xml配置文件的前面加上一段配置,强制使用我们新建的XX.properties文件中的占位符替换本文件加载的所有xml(1.xml,2.xml,3.xml)里面的占位符,例如:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
    <list>
        <value>classpath:bean/XXX.properties</value>
    </list>
</property>
</bean>
<import resource="classpath:bean/1.xml"/>
<import resource="classpath:bean/2.xml"/>
<import resource="classpath:bean/3.xml"/>
  • 配置主pom的resource,形如:
<resources>
    <resource>
        <directory>src/main/java</directory>
        <filtering>true</filtering>
        <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
            <include>**/*.*</include>
            <include>*.*</include>
        </includes>
    </resource>
</resources>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读