Maven copy dependencies of dependency 依赖关系

Maven copy dependencies of dependency

我在使用 Maven 时遇到问题。

假设我有一些 Java (Maven) 项目:

我想将项目 Y 作为依赖项包含在项目 X 中。
但是,我也想复制 Y 项目的所有 "lib" 依赖项。

有人知道吗?

IF 项目 X 和 Y 是 Maven 项目,您只需要从项目 X 的​​ pom.xml 中投影 Y 的依赖项。 Maven 的关键特性之一是通常不需要复制您依赖的其他 Maven 项目的任何库 - Maven 将解决您的(直接)依赖项所需的依赖项(在您的示例中基于依赖项定义pom.xml 项目 Y),并将它们也交付给项目 X。

那些"dependencies of my dependencies"被称为传递依赖并且在官方文档中有很好的描述:http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

不过,我建议从 http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html 开始快速浏览/阅读整个文档以理解关键概念,因为它与 "old way of handling library management" 有很大不同。

你试过了吗

mvn dependency:copy-dependencies

通过cmd/terminal?如果您已经在 pom.xml 中将 Y 定义为依赖项,则还会获取 Y 的依赖项。

当然,它们就在 ~/.m2/repository 文件夹中。要将它们直接添加到您的项目中,您应该查看 Assembly 插件 (http://maven.apache.org/plugins/maven-assembly-plugin/usage.html