maven 为什么要创建一个新的版本?

kqlmhetl  于 2023-10-17  发布在  Maven
关注(0)|答案(1)|浏览(111)

1.父pom代码

<modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>SpringCloudDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringCloudDemo</name>
    <description>SpringCloudDemo</description>
    <packaging>pom</packaging>

    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>${spring-boot-dubbo.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo</artifactId>
                <version>${spring-boot-dubbo.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-registry-nacos</artifactId>
                <version>${spring-boot-dubbo-nacos.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

1.在子POM中,子POM扩展父POM在子POM中

<parent>
        <groupId>com.example</groupId>
        <artifactId>SpringCloudDemo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <dependencies>

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
        </dependency>
        <!-- Nacos依赖 -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-registry-nacos</artifactId>
            <version>3.0.1</version>
        </dependency>

    </dependencies>

1.但我的孩子pom下载2.7.4.1版本,没有使用家长Pom 3.1.9版本杜博,喜欢的图片
1.我有一个问题
我想使用3.1.9版本杜博,但在儿童Pom下载2.7.4.1版本杜博?怎么了?

n7taea2i

n7taea2i1#

问题可能出在父pom中的<dependentManagement/>部分中定义依赖项时。举例来说:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>${spring-boot-dubbo.version}</version>
            <type>pom</type> <!-- wrong -->
            <scope>import</scope> <!-- wrong -->
        </dependency>
    </dependencies>
</dependencyManagement>

<type/></scope>是不正确的,因为dubbo-spring-boot-starter依赖项不是pom类型,你不应该将作用域定义为import
根据官方文档,import作用域仅与pom类型的depepndencies相关:
此作用域仅在<dependencyManagement>节中的pom类型的依赖项上受支持。它指示依赖项将被指定POM的<dependencyManagement>部分中的有效依赖项列表替换。由于它们被替换,范围为import的依赖项实际上并不参与限制依赖项的传递性。
尝试从父pom<dependentManagement/>部分中的所有依赖项中删除类型和作用域。
这只是一个猜测。

相关问题