0

我发现一些我期望工作的东西不起作用。

org.glassfish.jersey:jersey-bom我在我的dependencyManagement部分中导入了。

<dependencyManagement>
   <dependencies>
     <dependency>
       <groupId>org.glassfish.jersey</groupId>
       <artifactId>jersey-bom</artifactId>
       <version>2.26-b03</version>
       <type>pom</type>
       <scope>include</scope>
     </dependency>
  </dependencies>
</dependencyManagement>

pom显然包括以下依赖项。

<dependency>
  <groupId>org.glassfish.jersey.core</groupId>
  <artifactId>jersey-common</artifactId>
  <version>${project.version}</version>
</dependency>

现在我添加自己的依赖项

<dependencies>
  <dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-common</artifactId>
    <scope>test</scope>
  </dependency>
</dependencies>

mvn抱怨。

org.glassfish.jersey.core:jersey-common:jar 的“dependencies.dependency.version”缺失。@ 第 33 行,第 17 列

我的pom怎么了?

4

1 回答 1

0

你定义project-version为财产吗?我猜不是,因为您没有使用它来指定 BOM 的版本。

使用文字字符串,这应该可以工作:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey</groupId>
            <artifactId>jersey-bom</artifactId>
            <version>2.26-b03</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-common</artifactId>
            <version>2.26-b03</version>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
    </dependency>
</dependencies>

让我感兴趣的是,您不需要指定org.glassfish.jersey.core:jersey-common:2.26-b03in,<dependencyManagement>因为它是 BOM 的一部分,但如果它不存在,则依赖项将不起作用。

于 2017-04-09T12:51:55.087 回答