java - 在 Java11 模块中使用 @PostConstruct 或 @PreDestroy

标签 java eclipse maven java-11 java-module

我正在为 Java11 实现一个模块,并希望使用来自 JSR250 的注释(javax.annotation.PostConstruct 和 javax.annotation.PreDestroy)。

我已经更改了相应的依赖项:

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

为此:

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

Artifact javax.annotation-api-1.3.2.jar 包含在 META-INF/MANIFEST.MF 这一行中:

Automatic-Module-Name: java.annotation

因此,我尝试将其添加到我的 module-info.java 文件中:

  requires java.annotation;

但是,我收到此导入错误:

import javax.annotation.PostConstruct;

错误信息是:

The type javax.annotation.PostConstruct is not accessible

我已经研究了以下相关问题,但仍然无法解决我的问题:

最佳答案

错误仅发生在 Eclipse 中。 实际上,其他不相关的编译错误会在 Eclipse 中造成一些副作用。解决这些问题并刷新和清理项目后,所描述的错误神奇地消失了。 特别感谢@howlger 和@Naman 为我指明了正确的方向。

关于java - 在 Java11 模块中使用 @PostConstruct 或 @PreDestroy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57412864/

相关文章:

java - 自定义 Maven 插件和库

java - UIMA RUTA 中的数组 IndexOutOfBound 异常

java - 当场运行多个线程并等待全部完成,方便且安全的hashMap

java - 在 Flex 中什么时候使用 Socket 什么时候使用 XMLSocket?

eclipse - Scala 2.8.1 和 Eclipse 中的延续

eclipse - 如何在eclipse中运行maven项目

java - IntelliJ 增量 Maven 使用注释和 APT 构建

java - 如何将我的应用程序添加到 "Open With"对话框?

Android 设备不断与 adb/eclipse 断开连接

java - Eclipse 无法识别 smartcardio 库