在我的机器(Windows 10)中,有两个版本的 Java,Java 1.8(JRE 和 JDK)和 Java 10(JRE 和 JDK)。
以前如果我将我的Eclipse设置为:
- Java 编译器(JDK 合规性):1.8
- Java 构建路径(JRE 系统库):1.8
THEN IF 我使用以下 Spring 代码
import javax.annotation.PostConstruct;
...
...
...
@PostConstruct
...
...
一切都正常。完全没有错误。
但是,如果我将 Eclipse 设置为:
- Java 编译器(JDK 合规性):10
- Java 构建路径(JRE 系统库):10
现在,import
语句抛出一条错误消息:
The import javax.annotation.PostConstruct cannot be resolved
并且这个错误也会发生在@PreDestroy
注解上。
为什么会这样? Java 10 发生了什么?如果我仍然想保留 Java Compiler 和 JRE System Libraries 版本到 Java 10,如何解决这个问题?
谢谢。
最佳答案
您可以尝试在 pom.xml 中添加注解依赖,以便它们可用于 Spring:
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
关于java - 导入 javax.annotation.* 无法在 Eclipse 的 Java 10 编译器中解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51630397/