导入 javax.annotation.\* 无法在 Eclipse 的 Java 10 编译器中解析

新手上路,请多包涵

在我的机器(Windows 10)中,有两个版本的 Java,Java 1.8(JRE 和 JDK)和 Java 10(JRE 和 JDK)。

以前 如果 我将我的 Eclipse 设置为:

  • Java 编译器(JDK 合规性) :1.8
  • Java 构建路径(JRE 系统库) :1.8

那么如果 我使用以下 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 编译器和 JRE 系统库版本到 Java 10,如何解决这个问题?

谢谢你。

原文由 xcode 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 490
1 个回答

您可以尝试将注释依赖项添加到 pom.xml,以便它们可用于 Spring:

 <dependency>
  <groupId>javax.annotation</groupId>
  <artifactId>javax.annotation-api</artifactId>
  <version>1.3.2</version>
</dependency>

原文由 Anna van den Akker 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题