好吧,这可能是一个NooB问题(我更喜欢C++),但我迷失在Java森林和它的框架森林中。
我正在研究Eclipse RCP开发。为此,我遵循这个著名的教程:http://www.vogella.com/tutorials/EclipseRCP/article.html
在第15步,我需要添加以下依赖包以导入到我的bundle中。javax.annotation javax.injection
问题是我不能选择这些(它们不在选择列表中)我有javax.el javax.servlet.* 和javax.xml。
看看http://docs.oracle.com/javase/7/docs/api/overview-summary.html就知道这应该是标准java的一部分。
我错过了什么明显的错误?
6条答案
按热度按时间az31mfrm1#
依赖关系包括版本:
参见:http://mvnrepository.com/artifact/javax.annotation/javax.annotation-api
对于较新的
jakarta.annotation
:参见:https://mvnrepository.com/artifact/jakarta.annotation/jakarta.annotation-api
Java Common Annotations Module java.xml.ws.annotation在Java版本9中被弃用,并在Java版本11中被删除。如果这导致了一个问题,你可以尝试添加javax.annotation。
Java 8的Javadoc可以在这里找到:http://docs.oracle.com/javase/8/docs/api/javax/annotation/package-summary.html
k4emjkb12#
您的注解表明这是针对Guava的,因此您需要the JSR305 library,它扩展了
javax
包。7xllpg7q3#
不确定这是否仍然相关,但对于Java 8,我必须添加以下两个Maven依赖项以使javax.annotation.concurrent.ThreadSafe工作:
py49o6xq4#
Javax注解包含在这个依赖项中。这是目前的最新版本。
对maven
For Gradle
tp5buhyn5#
在Java版本>= 6中,您不需要显式添加它们。
它是JDK的一部分。只是尝试跳过添加它们,也许
说明书已经过时了。
在Java 6之前,你需要添加这个jar,我想:jsr250-API-1.0.jar。
http://central.maven.org/maven2/javax/annotation/jsr250-api/1.0/
http://download.java.net/maven/2/javax/annotation/jsr250-api/1.0/
vcirk6k66#
如果您正在寻找
nullable
注解,JSpecify是现代的方式。有
@Nullable
更有趣的是,他们有
@NullMarked
,这表明整个事情都被检查为空。如果没有@Nullable
标记,则保证没有null
出现。