在我的计算机(Windows 10)中,有两个版本的Java:Java 1.8(JRE和JDK)和Java 10(JRE和JDK)。
以前是 IF ,我将 Eclipse 设置为:
如果发生,我会使用以下Spring代码
import javax.annotation.PostConstruct;
...
...
...
@PostConstruct
...
...
一切正常完善。完全没有错误。
但是,如果我将Eclipse设置为:
现在,import
语句正在引发错误消息:
The import javax.annotation.PostConstruct cannot be resolved
,并且此{strong>错误也发生在{1}}注释上。
为什么会这样? Java 10会发生什么?如果我仍然想将Java编译器和JRE系统库版本保留为Java 10,如何解决此问题?
谢谢。
答案 0 :(得分:5)
您可以尝试将注释依赖项添加到pom.xml中,以便它们可用于Spring:
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
答案 1 :(得分:3)
您需要通过 Window -->Preferences-->Java 将 Eclipse 指向 Java 8 并添加 JDK 1.8 bin 路径。完成后,项目将自动构建并解决问题。
答案 2 :(得分:1)
将javax.annotation-api-1.3.2.jar
添加到您的类路径中。它也可以与JDK 10一起使用。
要进一步了解替代方法,请访问下面的视频链接:
https://www.youtube.com/watch?v=jOYSRwwMLX8&list=PLzS3AYzXBoj9IBdtgXRSyZEwlU2QV-mGG&index=6
答案 3 :(得分:1)
发生这种情况是因为@PostConstruct和@preDestroy在Java 9及更高版本中已被弃用,因此最好不要使用它们,而应使用接口来解决此问题
答案 4 :(得分:0)
缺少Javax Annotation
https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api/1.3.2
jar 或依赖可以在这里找到。
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>