我想在我的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>

最佳答案

如果像上面那样做,您只需将依赖关系添加到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>

关于java - Maven:包net.jcip.annotations不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30094198/

10-11 02:27