【发布时间】:2016-03-13 21:53:03
【问题描述】:
我在使用 Maven 时遇到了问题。
假设我有一些 Java (Maven) 项目:
- X
- 是的
我想将项目 Y 作为依赖项包含在项目 X 中。
但是,我也想复制 Y 项目的所有“lib”依赖项。
有人知道吗?
【问题讨论】:
-
修正了一些语法和一些格式
标签: java maven jar copy dependencies
我在使用 Maven 时遇到了问题。
假设我有一些 Java (Maven) 项目:
我想将项目 Y 作为依赖项包含在项目 X 中。
但是,我也想复制 Y 项目的所有“lib”依赖项。
有人知道吗?
【问题讨论】:
标签: java maven jar copy dependencies
IF 项目 X 和 Y 是 Maven 项目,您只需要一个依赖项即可从项目 X 的 pom.xml 中移植 Y。 Maven 的一个关键特性是,通常不需要复制您具有依赖关系的其他 Maven 项目的任何库 - Maven 将解析您的(直接)依赖项的所需依赖项(在您的示例中,基于项目 Y 的pom.xml)并将它们也交付给项目 X。
那些“我的依赖的依赖”被称为传递依赖,在官方文档中有很好的描述:http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
但是,我建议快速跳过/阅读从 http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html 开始的整个文档以了解关键概念,因为它与“处理图书馆管理的旧方式”有很大不同。
【讨论】:
你试过了吗
mvn dependency:copy-dependencies
通过 cmd/终端?如果你已经在 pom.xml 中定义了 Y 为依赖,那么 Y 的依赖依赖也会被获取。
当然,它们只是在 ~/.m2/repository 文件夹中。要将它们直接添加到您的项目中,您应该查看 Assembly 插件 (http://maven.apache.org/plugins/maven-assembly-plugin/usage.html
【讨论】: