Maven-Spring多项目加载配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven-Spring多项目加载配置文件相关的知识,希望对你有一定的参考价值。

有若干个普通maven项目,一个web maven项目,依赖都设置好了
所有的项目配置文件统一是各个项目classpath下的applicationContext.xml
web.xml里配置如下
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>

但是发现,只能加载到当前项目(即web项目)的自己的配置文件,所有依赖项目的配置文件都没有加载,也没有报错。。。

想问一下,怎么把所有依赖项目的配置文件都加载到啊,是不是还需要进行其他的什么设置?很急,希望高手帮忙解答一下,谢谢。。。

1,classpath:applicationContext.xml改为classpath*:applicationContext.xml 
这么写也是一样的效果:classpath*:/applicationContext.xml 
2,在applicationContext.xml引用其它的配置文件: 
如果在同一个jar包这么写, 

Java代码  

<import resource="classpath:/applicationContext-action.xml" />

要导入其它jar包中的配置文件,这么写 

Java代码  

<import resource="classpath*:/applicationContext-service.xml" />

就这么简单,重新打包、部署、启动成功。 

参考技术A 一个工程当然只会读自己工程下的配置文件。

用maven-resources-plugin插件可以搞定。把其他项目的配置文件拷贝到当前项目的classpath下追问

classpath* 我在网上看的说是可以读取引入的jar包里的配置文件啊,maven的依赖项目不就是以jar的方式加进来的吗?为什么读取不了呢?

maven-resources-plugin插件,这个能说的详细点吗?加上插件就行?还需要别的什么设置吗?还有直接拷贝的话,名字相同是不是会报错啊?

最好能给段代码,谢谢。。

参考技术B 要指定具体目录位置 config是你本地目录名称
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/applicationContext_*.xml</param-value>
</context-param>追问

难道不能直接放在根路径下面?

以上是关于Maven-Spring多项目加载配置文件的主要内容,如果未能解决你的问题,请参考以下文章

Maven-Spring 项目不加载 spring-boot-start 档案

是否可以从 Maven 多模块项目的父模块中的配置文件夹加载 Spring-Boot 属性?

Maven-Spring

如何配置thinkphp的首页路径

springboot系列SpringBoot 单元测试配置访问配置项目打包发布加载和读取多个配置文件

启动项目载入配置中心配置失败,未配置参数