javax.annotation在哪里

时间:2014-03-23 09:56:38

标签: java eclipse eclipse-rcp

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

我正在尝试研究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的一部分。

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

4 个答案:

答案 0 :(得分:4)

JavaEE 7的版本:

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

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

如果您使用Java 8: http://docs.oracle.com/javase/8/docs/api/javax/annotation/package-summary.html

答案 1 :(得分:2)

你的评论表明这是针对番石榴的,所以你需要the JSR305 library,它扩展了javax包。

答案 2 :(得分:2)

不确定这是否仍然有意义,但是对于Java 8,我必须添加以下两个Maven依赖项才能使javax.annotation.concurrent.ThreadSafe起作用:

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

    <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>3.0.0</version>
    </dependency> 

答案 3 :(得分:1)

在Java版本&gt; = 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/