为什么Maven不包括所需的传递依赖项?

时间:2018-07-13 18:59:56

标签: maven jenkins-pipeline transitive-dependency

我正在将我们的Jenkins Freestyle构建转换为声明性管道模式。我正在使用相同的POM文件。 但是,每当我运行管道构建时,我都会看到所需的战争缺少传递依赖。 Freestyle构建包括缺少的依赖项。

主要父POM包括:

<dependencyManagement>
<dependencies>
<dependency>
                <groupId>net.sf.dozer</groupId>
                <artifactId>dozer</artifactId>
                <version>5.5.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>jcl-over-slf4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
</dependencies>
</dependencyManagement>

第二个父级包括以下部分:

<dependencies>
        <dependency>
            <groupId>net.sf.dozer</groupId>
            <artifactId>dozer</artifactId>
        </dependency>
</dependencies>

对于两个构建过程,推土机工件都包含在war文件中。但是推土机包含自己的依赖项:

<dependencies>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.1</version>
            <exclusions>
                 <exclusion>
                      <groupId>commons-logging</groupId>
                      <artifactId>commons-logging</artifactId>
                 </exclusion>
            </exclusions>
        </dependency>
</dependencies>

当我进行Pipeline构建时,正是我的最后一战中缺少的commons-beanutils。由于我在两个构建过程中都使用相同的POM文件,这怎么可能?

请帮助

0 个答案:

没有答案