jar包中注解无法被扫描

Wesley13
• 阅读 826

jar被引用后无法找到类或里面的注解无法被扫描

1、第一种情况:eclipse打成的jar

    处理方法:export->java->JAR file->Options  其中在Options选项务必勾选Add directory entries

2、第二种情况:maven打成的jar

    处理方法:请在pom文件的中加入如下代码

          <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <!-- jar 无法扫描 -->
                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                    <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                    <!-- 不再 META-INF 添加 maven文件夹 -->
                    <addMavenDescriptor>false</addMavenDescriptor>
                </configuration>
            </plugin>

3、第三种情况:springboot+maven多模块引用,无法扫描到包

    处理方法:保证子模块的pom中包括第二种情况的处理方法,并把主模块中的启动类调整到工程目录最外层如我的启动类目录结构为:

cn.zhys513.blog.Application.java

把Application.java拷贝到main/java下即可。

    原因说明:springboot的@ComponentScan扫描的时候,只扫描当前程序所在包结构(包含子包)中声明的组件。

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
springboot项目中集成ip2region遇到的问题及终极解决办法
1、问题回顾按照ip2region项目的官方集成到springboot项目后,运行测试一切都ok,没有任何问题。但是当项目打成可执行的jar包后再运行,却显示找不到ip2region.db,无法找到资源文件的错误。异常代码如下:java.io.FileNotFoundException:classpathresourceip
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
lucien-ma lucien-ma
3年前
注解和反射
注解和反射1.注解1.1什么是注解?注解和注释的差别在于注解可以被其他程序读取1.2内置注解@Override定义在java.lang.Override中,表示一个方法声明打算重写超类中的另一个方法声明@Deprecated定义在java.lang.Deprecated中,此注解可以用于修辞方法,属性,类,表示不鼓励程序员使用这样的
皕杰报表之自定义函数
当设计器里的函数不能满足你的需求时,你需要自定义一些函数来来满足你的需求。设计器上1.选择【工具栏】【窗口】【首选项】【通用配置】【类加载配置】,在【自定义接口实现类配置】中添加自定义函数实现类,添加方式有两种:一是将编译好的.class文件打成jar包,点击【添加JAR】,将jar包导入;二是点击【添加文件夹】,将包含.class文件的文件夹添加进来
Stella981 Stella981
3年前
Maven项目使用打包时使用本地jar包库
在使用maven管理项目时,有时候我们可能会使用一些第三方的jar包依赖库,但是这些jar包依赖库又没有在共有的maven仓库。通常只能下来放到本项目的lib目录下。但是我们打包时如果不做处理,那么打包后的fatjar中不会有lib文件夹中的相关jar包。打包后无法运行起来,因此需要做特殊处理,让maven打包时能够把使用到外部jar打进去。主要就是在
Wesley13 Wesley13
3年前
Unable to instantiate activity ComponentInfo
不知道怎么回事,在libs中添加了jar包后,无法给jar包附加上源码,于是采取以下措施:删除自动生成的依赖:在AndroidDependences目录上右击BuildPathRemovefromBuildPath然后往libs中拖入jar包,然后添加jar的引用,这样,就可以给jar包附上源码了。但是运行程序的时候
Stella981 Stella981
3年前
Eclipse中将Java项目转换成Web项目的方法
前言:  用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行。  方法:  1.找到.project文件,找到里面的<natures标签,查看是否有下面的代码,没有则复制进去。  Xml代码1.<natureorg.eclipse.ws
Easter79 Easter79
3年前
Spring注解@Resource和@Autowired区别对比、spring扫描的默认bean的Id、程序获取spring容器对象
\注解扫面的bean的ID问题0.前提需要明白注解扫描出来的bean的id默认是类名首字母小写,当然可以指定id:
Stella981 Stella981
3年前
Reflections框架,类扫描工具
Reflections是一个能提供一站式服务的对象。巧用Reflections库实现包扫描(扫描某个包中某个接口实现、注解等)它扫描工程的classpath,为元数据建索引,允许你运行时查询元数据信息。此外,他还能为你项目的lib库中所有的jar包保存和收集元数据。
Easter79 Easter79
3年前
Spring相关代码打入jar包时,Spring启动扫描不到,解决方案
我们项目是由N个工程组成的,外围工程是web工程,内部的工程打包成jar,放入外围工程的WEBINF/lib 内部的工程用到了spring的注解,例如@Service、@Controller等,在打成jar包之前,是可以扫描到的,但是打成jar包之后,就扫描不到了,报NoSuchBeanException 在网上搜索了一下,发现了一个办法,就是在用