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

Easter79
• 阅读 241

我们项目是由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包,多了路径的信息,可能这就是区别。

点赞
收藏
评论区
推荐文章
刚刚好 刚刚好
1个月前
css问题
1、 在IOS中图片不显示(给图片加了圆角或者img没有父级) <div<img src""/</div div {width: 20px; height: 20px; borderradius: 20px; overflow: h
Stella981 Stella981
1年前
SpringBoot:整合Swagger3.0与RESTful接口整合返回值(2020最新最易懂)
**一,整合Swagger3.0** ================== 随着Spring Boot、Spring Cloud等微服务的流行,在微服务的设计下,小公司微服务工程jar小的几十个,大公司大的工程拆分jar多则几百上万个,这么多的微服务必定产生了大量的接口调用。而接口的调用就必定要写接口文档(由开发人员编写)。 存在的问题:(面对多个开发人
Karen110 Karen110
1年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。 time包import time 时间戳 从1970年1月1日00:00:00标准时区诞生到现在
晴空闲云 晴空闲云
1个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。 盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
艾木酱 艾木酱
1个月前
快速入门|使用MemFire Cloud构建React Native应用程序
> MemFire Cloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Easter79 Easter79
1年前
springboot读取外部配置文件
springboot项目打成jar包后不好进行配置文件修改,可设置为读取外部配置文件,方便进行配置修改. 步骤: 1.将jar包中的application.properties配置文件复制到自定义路径下; 2.运行jar包命令指定外部配置文件路径: nohup java -jar *.jar --spring.config.location=
Stella981 Stella981
1年前
Spring Boot(二):web应用开发,实现CRUD
**一、开发web应用** Spring Boot Web 开发非常的简单,其中包括常用的 json 输出、filters、property、log 等 **二、json接口开发** 以前使用spring开发项目,需要提供json接口时需要做什么呢? 1、 添加jackjson等相关的jar包 2、配置spring controller扫描包 3
Stella981 Stella981
1年前
SpringBoot配置Swagger实例(POST接收json参数)
**工程目录结构:** ![](https://oscimg.oschina.net/oscnet/207b6df22d35c70fd7ef5ba084e9e0eff60.png) 首先,引入jar包,只需要以下两个即可 <dependency> <groupId>io.springfox</groupId> <
Stella981 Stella981
1年前
Reflections框架,类扫描工具
Reflections是一个能提供一站式服务的对象。 巧用Reflections库实现包扫描(扫描某个包中某个接口实现、注解等) ===================================== 它扫描工程的classpath,为元数据建索引,允许你运行时查询元数据信息。此外,他还能为你项目的lib库中所有的jar包保存和收集元数据。
helloworld_28799839 helloworld_28799839
1个月前
常用知识整理
# Javascript ## 判断对象是否为空 ```js Object.keys(myObject).length === 0 ``` ## 经常使用的三元运算 > 我们经常遇到处理表格列状态字段如 `status` 的时候可以用到 ``` vue