Maven程序集依赖项集不包含';不能拾取可传递依赖项

Maven程序集依赖项集不包含';不能拾取可传递依赖项,maven,Maven,我有点为Maven大会的进球而烦恼。我有一个项目,它有许多依赖项,每个依赖项都可能有自己的可传递依赖项。如果我运行mvn dependency:tree,那么我可以看到所有的依赖项都得到了满足,包括transitive 当我运行程序集目标时,情况并非如此。我希望的是,当我添加一个要包含的依赖项时,它的所有可传递依赖项也都包含在内。在下面的示例中,我有三个我希望包含的依赖项。因此,当组装完成时,我希望具有这些依赖项以及这些依赖项的任何可传递依赖项 <assembly> <base

我有点为Maven大会的进球而烦恼。我有一个项目,它有许多依赖项,每个依赖项都可能有自己的可传递依赖项。如果我运行mvn dependency:tree,那么我可以看到所有的依赖项都得到了满足,包括transitive

当我运行程序集目标时,情况并非如此。我希望的是,当我添加一个要包含的依赖项时,它的所有可传递依赖项也都包含在内。在下面的示例中,我有三个我希望包含的依赖项。因此,当组装完成时,我希望具有这些依赖项以及这些依赖项的任何可传递依赖项

<assembly>
<baseDirectory>${artifactId}/${artifactId}-${version}</baseDirectory>
<formats>
    <format>zip</format>
</formats>

<fileSets>
</fileSets>

<dependencySets>
    <dependencySet>
        <unpack>false</unpack>
        <scope>runtime</scope>
        <outputDirectory>/lib
        </outputDirectory>
        <includes>
            <include>com.acme.core:library-1</include>
            <include>com.acme.core:library-2</include>
            <include>com.acme.core:library-2</include>
        </includes>
    </dependencySet>
</dependencySets>

${artifactId}/${artifactId}-${version}
拉链
假的
运行时
/解放党
com.acme.core:library-1
com.acme.core:library-2
com.acme.core:library-2

但是,如果打开zip文件,您将只找到这三个依赖项,这意味着在运行时,由于缺少库,应用程序不适合使用。我觉得这完全不直观,因为它违背了人们对POM的期望

有人遇到过这个问题吗?有解决方案吗?

包含和排除也适用于可传递依赖项。尝试将以下配置添加到您的
依赖项集

<useTransitiveFiltering>true</useTransitiveFiltering>
true

您使用哪个版本的汇编插件?