我想将每个依赖项及其传递依赖项复制到自己的专用文件夹中。我发现这很难解释,所以这是一个例子。
项目 - 我们称之为'myProject' - 有两个依赖关系
依赖性A
依赖性B
两个依赖项都具有传递依赖性 让我们将A的依赖关系称为A1和A2。 让我们将B的依赖关系称为B1,B2和B3
我想在构建项目时创建以下目录结构:
/myProject.jar
/projects/A/A.jar
/projects/A/jarlib/A1.jar
/projects/A/jarlib/A2.jar
/projects/B/B.jar
/projects/B/jarlib/B1.jar
/projects/B/jarlib/B2.jar
/projects/B/jarlib/B3.jar
这可以通过使用maven程序集插件,maven依赖插件或使用它们来实现吗?或者是否有任何其他插件来实现我正在寻求的东西?我一直在尝试使用这两个插件,但到目前为止,我已经能够获得所有传递依赖项仅被复制到单个文件夹的结果
答案 0 :(得分:1)
尝试copy-dependencies的Maven Dependency Plugin目标并将useRepositoryLayout设置为true。
它不是完全相同的结构,而是Maven存储库的结构。
答案 1 :(得分:0)
说明" Puce"的想法。这个例子对我来说没问题。
<project>
...
<profiles>
<profile>
<id>qa</id>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
答案 2 :(得分:0)
我甚至不记得曾问过这个问题。好吧,自从我问了九个月以来,我已经找到了答案。一种方法是为所有这些项目创建父pom并在maven程序集插件中使用模块集。这样就可以确定每个模块的输出目录,并实现所需的目录结构。