Spring中classpath*:使用通配符加载jar当中的资源无效的原因

Spring采用classpath*:前缀开头时,是可以使用**以及*来作为通配符,从jar当中加载资源(例如xml配置文件)的,但是一次偶然的机会发现只要使用了通配符,就无法正确从jar当中加载配置文件。web.xml当中的配置如下:
<init-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath*:spring/applicationContext*.xml</param-value>
</init-param>


多次尝试发现,如果applicationContext*.xml文件位于磁盘上而不是jar内部,则运行正常。如果位于jar内部,则无法正确加载。


经多方查找资料,原来是打包为jar过程中选项设置不正确导致。导出jar时,下图所示的选项必须勾选,则通配符工作正常,否则无效。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值