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

标签 java spring eclipse spring-mvc

在我的机器(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/

相关文章:

java - 'APPLICATION_JSON' 和 'APPLICATION_JSON_VALUE' 之间的区别

java - 如何自动删除项目的所有system.out.println语句包括所有多行Sop语句

java - Maven 从终端运行,但不能从 Yosemite 中的 Eclipse 运行

java - eclipse java导入组织

java - 如何在使用 NETBEANS 可视化 GUI 制作 JTable 的 JTable 中插入值以及如何在需要时在运行时增加行?

java - java.util.concurrent.CountDownLatch.countDown() 是原子的吗?

java - 如何让通知在一天中的随机时间出现?

java - 2016 年 4 月 22 日的日期格式?

java - org.hibernate.exception.SQLGrammarException : could not prepare statement; nested exception is javax. 持久性.PersistenceException

java - Jersey 客户端和 CXF 混淆(多部分问题)