javax.annotation 在哪里

2022-09-01 10:00:59

好吧,所以这可能是一个NooB问题(我更像是一个C++的人),但我迷失在爪哇森林及其框架森林中......

我正在尝试研究eclipse RCP的开发。为此,我正在遵循这个众所周知的教程:http://www.vogella.com/tutorials/EclipseRCP/article.html

在步骤 15 中,我需要添加以下依赖项包以导入到我的捆绑包中。javax.annotation javax.injection

问题是我无法选择这些(它们不在选择列表中),我确实有javax.el javax.servlet.*和javax.xml。

看看 http://docs.oracle.com/javase/7/docs/api/overview-summary.html 表明这应该是标准java的一部分。

我错过了什么明显的错误?


答案 1

依赖项包括版本:

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

请参见: http://mvnrepository.com/artifact/javax.annotation/javax.annotation-api

或者对于较新的:jakarta.annotation

<dependency>
   <groupId>jakarta.annotation</groupId>
   <artifactId>jakarta.annotation-api</artifactId>
   <version>1.3.5</version>
</dependency>

请参见: https://mvnrepository.com/artifact/jakarta.annotation/jakarta.annotation-api

Java Common Annotations Module java.xml.ws.annotation 在 Java 版本 9 中已弃用,在 java 版本 11 中已被删除。如果这导致问题,您可以尝试添加javax.annotation。

Javadocs for Java 8 可以在这里找到:http://docs.oracle.com/javase/8/docs/api/javax/annotation/package-summary.html


答案 2

您的评论表明这是针对番石榴的,因此您需要JSR305库,它扩展了软件包。javax

2020年更新:请注意,该库违反了Oracle许可协议,Guava已经转移到checkerframework的Nullable注释


推荐