为什么使用 Maven 时 Jetty 版本较低?

Why is the Jetty version lower when using Maven?

提问人:Mooner_guo 提问时间:11/17/2023 更新时间:11/17/2023 访问量:10

问:

在我的 Maven 设置中,我声明了一个名为 A 的工件,它有一个名为 A-root 的父项。此外,我还声明了一个名为 B 的工件,该工件由 A 引用。A 根和 B 都有单独的码头物料清单 (BOM) 声明。在 B 中,jetty-http 依赖项的版本指定为 9.4.43.v20210629。在 A-root 中,Jetty BOM 的版本声明为 9.4.53.v20231009。

此外,我还创建了一个名为 C 的项目,它依赖于 A。当我在 A 的目录下执行“mvn dependency:tree”命令时,显示的 Jetty 版本是 9.4.53.v20231009。但是,当我在项目 C 的目录中执行相同的命令时,显示的 Jetty 版本是 9.4.43.v20210629,这是一个较低的版本。似乎在 A-root 的 POM 中声明的 Jetty BOM 版本在项目 C 中未正确应用。


    <groupId>demo</groupId>
    <artifactId>serviceA-root</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
  
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <jetty.version>9.4.53.v20231009</jetty.version>
    </properties>

    <dependencies>

    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-bom</artifactId>
                <version>${jetty.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
    </build>
 <parent>
        <groupId>demo</groupId>
        <artifactId>serviceA-root</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <groupId>demo</groupId>
    <artifactId>serviceA</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>demo</groupId>
            <artifactId>serviceB</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <build>
    </build>
<groupId>demo</groupId>
    <artifactId>serviceB</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <jetty.version>9.4.43.v20210629</jetty.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-http</artifactId>
          </dependency>

    </dependencies>

    <dependencyManagement>
        <dependencies>    
          <dependency>
          <groupId>org.eclipse.jetty</groupId>
          <artifactId>jetty-bom</artifactId>
          <version>${jetty.version}</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
        </dependencies></dependencyManagement>
    <build>
    </build>
 <groupId>demo</groupId>
    <artifactId>serviceC</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>demo</groupId>
            <artifactId>serviceA</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
Maven的

评论

0赞 Mooner_guo 11/17/2023
只有当我显式导入项目 C 的 A-root 时,更高版本才有效

答: 暂无答案