小编Afr*_*eek的帖子

使用include设置的Maven程序集依赖项不会获取传递依赖项

我有一个麻烦的Maven集会目标.我有一个项目,它有许多依赖项,每个项都可能有自己的传递依赖项.如果我运行mvn依赖:树比我看到所有依赖包括传递都满足.

当我运行程序集目标时,情况就不是这样了.我想要的是当我添加一个依赖项时,还包括所有的传递依赖项.在下面的示例中,我希望包含三个依赖项.因此,在构建程序集时,我希望这些依赖项以及这些依赖项的任何传递依赖项.

<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>
Run Code Online (Sandbox Code Playgroud)

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

有谁遇到过这个问题并且有解决方案吗?

maven

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

maven ×1