首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含include的Maven程序集依赖项不会拾取传递依赖项

包含include的Maven程序集依赖项不会拾取传递依赖项
EN

Stack Overflow用户
提问于 2011-05-16 21:30:21
回答 1查看 11.2K关注 0票数 11

我对Maven的组装目标有一点困扰。我有一个项目,它有许多依赖项,每个依赖项都可能有自己的传递依赖项。如果我运行mvn dependency:tree,那么我可以看到所有的依赖关系都得到了满足,包括传递性。

这不是当我运行程序集goal.What时的情况,我希望当我添加一个要包含的依赖项时,它的所有传递依赖项也会包含在内。在下面的示例中,我希望包含三个依赖项。因此,当组装完成时,我希望有这些依赖关系,以及这些依赖关系的任何传递依赖关系。

代码语言:javascript
复制
<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>

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

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

EN

回答 1

Stack Overflow用户

发布于 2011-08-17 02:26:30

“包含”和“排除”也适用于传递依赖关系。尝试将以下配置添加到您的dependencySet

代码语言:javascript
复制
<useTransitiveFiltering>true</useTransitiveFiltering>

http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#dependencySet

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6018174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档