Maven:包net.jcip.annotations不存在

时间:2015-05-07 07:10:56

标签: java maven pom.xml

我想在我的Java代码中使用@ net.jcip.annotations.NotThreadSafe。我试图导入它是项目的pom.xml中的依赖项,如下所示。但是,我仍然得到错误:我的导入有问题吗?

包net.jcip.annotations不存在

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-junit47</artifactId>
            <version>2.18</version>
        </dependency>
        <dependency>
            <groupId>net.jcip</groupId>
            <artifactId>jcip-annotations</artifactId>
            <version>1.0</version>
        </dependency>
    </dependencies>
    <configuration>
        {...}
    </configuration>
  </plugin>

1 个答案:

答案 0 :(得分:5)

如果你像上面那样做,你只需要将依赖项添加到maven-surefire-plugin的类路径中,这不是你想要的。你必须把它放在你的pom中:

<project...>
  <dependencies>
    <dependency>
       <groupId>net.jcip</groupId>
       <artifactId>jcip-annotations</artifactId>
       <version>1.0</version>
    </dependency>
    ...
  </dependencies>

</project>

此外,由于不需要依赖surefire-juni47,因此surefire插件会自行处理。所以这看起来像这样:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18</version>
    <configuration>
        {...}
    </configuration>
</plugin>