发现问题
前几天用eclipse打包了一个jar包,jar包里面是定义的Spring的bean。
然后将jar包放到lib下,设置spring的自动扫描这个jar包中的bean,可谁知根本无法扫描到bean,显示错误就是找不到bean,当时就纳闷儿了,为什么扫描不到,结果搜索之后才发现,用eclipse打包jar包要勾选“Add directory entries”才能被Spring正确扫描到,居然有这个说法,呵呵… 不知道
勾选“Add directory entries”才能被spring扫描到
解决方法
于是又搜索了下,勾选“Add directory entries”和不勾选有什么区别,还真有,通过命令“jar tf selected.jar
”就可以查看到jar包中的内容,勾选了的jar包会展示目录层级信息,而没有勾选的就不会展示,估计是展示了目录层级的才能被spring扫描到吧。
“Add directory entries”加入了目录层级信息
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:https://www.juwends.com/tech/java/bean_in_jar_can_not_be_scanned_by_spring.html