@Resource注解无法使用或失败以及java.lang.NoSuchMethodError:javax.annotation.Resource.lookup()的问题

关于@Resource注解无法使用或失败的问题

这几天在使用Spring框架学习的时候,在使用基于注解形式注入属性的@Resource的时候发现了一些问题,今天来分享一下。

在使用的时候发现会冒红报错,也无法导入javax.annotation.Resource
@Resource注解无法使用或失败以及java.lang.NoSuchMethodError:javax.annotation.Resource.lookup()的问题_第1张图片
经过不断尝试以及上网查阅,发现了几个解决的方法:

1、Resource是javax.annotation包中的一个api,如果无法使用,那么可能是jdk版本太低或者太高的问题,这里推荐是jdk1.8版本,似乎其他的某些版本无法使用,可以在这个地方修改
@Resource注解无法使用或失败以及java.lang.NoSuchMethodError:javax.annotation.Resource.lookup()的问题_第2张图片

2、如果改了jdk还是没有用,那么就引入依赖,去maven库下载一个jar包:
javax.annotation-api-1.3.2.jar,导入后就可以了
@Resource注解无法使用或失败以及java.lang.NoSuchMethodError:javax.annotation.Resource.lookup()的问题_第3张图片
3、还不行,那就有可能是jar包冲突,检查是否重复导入了含有javax.annotation的依赖包,可以检查Tomcat的lib包下是否存在重复的情况,删掉只剩一个就可以了,

如果出现java.lang.NoSuchMethodError: 'java.lang.String javax.annotation.Resource.lookup()'的问题
@Resource注解无法使用或失败以及java.lang.NoSuchMethodError:javax.annotation.Resource.lookup()的问题_第4张图片
有可能是包导入错误了,或者是重复多次导入这个jar包导致冲突了
在这里插入图片描述
我刚开始导入的是这个包,但是出现了以上的错误,把他换成javax.annotation-api-1.3.2.jar这个依赖包就可以了

你可能感兴趣的:(@Resource注解,spring,java,后端)