我有一个麻烦的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 ×1