最近在使用spring框架的注解@resource时出现错误,但是使用@Autowired @Qualifier("acountDao1")
是可以运行的但是使用@resource(“acountDao1”)就出现错误,一开始是不不补全,网上说缺少依赖,再maven添加了:
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
<version>1.0</version>
</dependency>
在这里插入代码片
但是还是报错
java.lang.NoSuchMethodError: ‘java.lang.String javax.annotation.Resource.lookup()’
造成报错的原因是:查找相关资料,@Resource注解是annotation-api.jar包中的类,是jdk1.6才支持的注解,而Tomcat6.0版本以上,已经包含了这个jar包,而无需自己导入此包,因此原因是自己项目中jdk版本过低。
在pom.xml中添加:
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
就可以解决此问题。