Spring相关代码打入jar包时,Spring启动扫描不到,解决方案

Easter79
• 阅读 561

我们项目是由N个工程组成的,外围工程是web工程,内部的工程打包成jar,放入外围工程的WEB-INF/lib 

内部的工程用到了spring的注解,例如@Service、@Controller等,在打成jar包之前,是可以扫描到的,但是打成jar包之后,就扫描不到了,报NoSuchBeanException 

在网上搜索了一下,发现了一个办法,就是在用eclipse export jar的时候,勾选 add directory entries 

Spring相关代码打入jar包时,Spring启动扫描不到,解决方案

这样打出来的jar包,可以解决这个问题,在外围也可以扫描到jar包内用注解声明的bean。如果没有勾上add directory entries,就不行了 。

用jar命令,比较了一下两种方法打出的jar包的区别,如图: 

Spring相关代码打入jar包时,Spring启动扫描不到,解决方案

Spring相关代码打入jar包时,Spring启动扫描不到,解决方案

可以看到,勾选了add directory entries之后打出的jar包,多了路径的信息,可能这就是区别。

点赞
收藏
评论区
推荐文章
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Karen110 Karen110
3年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Stella981 Stella981
3年前
SpringBoot打成jar包后,获取不到读取resources目录下文件路径的问题
问题描述:Springboot没有打成jar之前,可以成功获取读取resources目录下xxx.json文件的路径。但是打成jar包后,接口调不通,原因是获取不到文件的路径。原因:在本地进行调试时,文件是真实存在于磁盘的某个目录。此时通过获取文件路径,是可以正常读取的,因为文件确实存在。而打包成jar以后,实际上文件是
Stella981 Stella981
3年前
FastDFS图片服务器实现图片上传
一、传统使用1.将fastdfs\_client.jar导入工程2.加载配置文件(如conf.properties),配置文件中的内容就是tracker服务的地址。配置文件内容:tracker\_server192.168.25.133:221223.把commonsio、fileupload的jar包添加到工程中4.页面代码!
Wesley13 Wesley13
3年前
SpringMVC+Spring+Mybatis整合
创建web工程用eclipse或idea创建一个web工程,在这里演示使用idea,项目命名为ssm建立工程目录框架根据习惯,简历包目录,分别为1.config在其中创建两个子包mybatis和spring,分别用来放置spring、mybatis配置文件2.mapper
Easter79 Easter79
3年前
SpringBoot配置Swagger实例(POST接收json参数)
工程目录结构:!(https://oscimg.oschina.net/oscnet/207b6df22d35c70fd7ef5ba084e9e0eff60.png)首先,引入jar包,只需要以下两个即可<dependency<groupIdio.springfox</groupId<
Stella981 Stella981
3年前
SpringBoot配置Swagger实例(POST接收json参数)
工程目录结构:!(https://oscimg.oschina.net/oscnet/207b6df22d35c70fd7ef5ba084e9e0eff60.png)首先,引入jar包,只需要以下两个即可<dependency<groupIdio.springfox</groupId<
Easter79 Easter79
3年前
SpringBoot打成jar包后,获取不到读取resources目录下文件路径的问题
问题描述:Springboot没有打成jar之前,可以成功获取读取resources目录下xxx.json文件的路径。但是打成jar包后,接口调不通,原因是获取不到文件的路径。原因:在本地进行调试时,文件是真实存在于磁盘的某个目录。此时通过获取文件路径,是可以正常读取的,因为文件确实存在。而打包成jar以后,实际上文件是
Stella981 Stella981
3年前
Dubbo zookeeper 初探【转】
先把zookeeper在本地给安装好,这里的话讲述了两个工程一个工程是提供服务的,一个工程是调用服务的,因为dubbo是跟spring进行无缝连接的,故功能配置在spring的配置文件中,跟spring进行整合开发1、工程是以maven进行构建的,使用的jar包如下:!(https://static.oschina.net/uploads/i
Stella981 Stella981
3年前
Reflections框架,类扫描工具
Reflections是一个能提供一站式服务的对象。巧用Reflections库实现包扫描(扫描某个包中某个接口实现、注解等)它扫描工程的classpath,为元数据建索引,允许你运行时查询元数据信息。此外,他还能为你项目的lib库中所有的jar包保存和收集元数据。
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k