我使用maven-assembly-plugin使用以下描述符创建项目依赖项的Maven Repo样式目录结构:
<assembly>
<id>my-repo</id>
<formats>
<format>dir</format>
</formats>
<repositories>
<repository>
<includeMetadata>false</includeMetadata>
<outputDirectory>my-output-repo</outputDirectory>
</repository>
</repositories>
</assembly>
但是,我发现生成的repo还包含传递依赖,我只想要我的顶级依赖。我已经在pom级别上排除了传递依赖性,并且当我执行mvn dependency:tree
时它们不会显示,但是我会在生成的回购中看到它们。
我可以使用汇编描述符中的<exclude>
元素单独抑制它们,但这很容易出错,因为您可能永远不知道是否可以引入另一个传递dep。
汇编插件中的其他输出模式有<useTransitiveDependencies>
标签,而org.apache.maven.plugins:maven-dependency-plugin:copy-dependencies
也有这样的设置,但它们不会产生回购式结构。
有没有一种方法可以让我从我的直接代表中产生一个回购风格的结构,而不会拉入传递的结构?
编辑:下面的Tome评论为此提供了解决方案。