导出 Maven 依赖项并维护存储库文件夹结构
Export Maven dependencies and maintain repository folder structure
我想知道是否可以 export/copy 使用 Maven 管理的项目的依赖项,同时维护本地存储库中采用的文件夹结构。
我需要的根源 是我在我的本地存储库 (~8GB) 中积累了将近十年的大量工件。我不再处理以前分配的那些旧项目,这些旧项目吸引了大部分工件,现在,我需要将一个项目(约 650MB 的工件)所需的内容移动到另一台计算机。我不能只设置另一台计算机再次下载工件,因为这些工件中有许多是在以前的作业中从本地 Nexus 代理检索到的。而且,我没有这些工件的源代码,所以我不能只安装它们。
dependency:copy-dependencies
没有用,因为所有工件都只是简单地转储到一个文件夹中,而不是说 .m2\repository\mysql\mysql-connector-java.1.38\mysql-connector-java-5.1.38.jar
我相信我的问题也可以改写为“如何从本地 Maven 存储库中提取仅与一个特定项目相关的存储库子集?”
您实际上可以使用 Maven Dependency Plugin 及其 copy-dependencies
目标,正如您提到的那样。
你实际上错过的是它的useRepositoryLayout
选项
Place each artifact in the same directory layout as a default repository.
example: /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar.
- Type: boolean.
- Since: 2.0-alpha-2.
- Required: No.
- User Property: mdep.useRepositoryLayout.
- Default: false.
您因此可以执行 - 作为示例 - 以下内容:
mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true \
-DoutputDirectory=.m2/repository
如果您缺少某些依赖项,请从其他来源下载该依赖项并将其粘贴到您的 .m2(maven 本地存储库)文件夹中。
我想知道是否可以 export/copy 使用 Maven 管理的项目的依赖项,同时维护本地存储库中采用的文件夹结构。
我需要的根源 是我在我的本地存储库 (~8GB) 中积累了将近十年的大量工件。我不再处理以前分配的那些旧项目,这些旧项目吸引了大部分工件,现在,我需要将一个项目(约 650MB 的工件)所需的内容移动到另一台计算机。我不能只设置另一台计算机再次下载工件,因为这些工件中有许多是在以前的作业中从本地 Nexus 代理检索到的。而且,我没有这些工件的源代码,所以我不能只安装它们。
dependency:copy-dependencies
没有用,因为所有工件都只是简单地转储到一个文件夹中,而不是说 .m2\repository\mysql\mysql-connector-java.1.38\mysql-connector-java-5.1.38.jar
我相信我的问题也可以改写为“如何从本地 Maven 存储库中提取仅与一个特定项目相关的存储库子集?”
您实际上可以使用 Maven Dependency Plugin 及其 copy-dependencies
目标,正如您提到的那样。
你实际上错过的是它的useRepositoryLayout
选项
Place each artifact in the same directory layout as a default repository.
example: /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar.
- Type: boolean.
- Since: 2.0-alpha-2.
- Required: No.
- User Property: mdep.useRepositoryLayout.
- Default: false.
您因此可以执行 - 作为示例 - 以下内容:
mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true \
-DoutputDirectory=.m2/repository
如果您缺少某些依赖项,请从其他来源下载该依赖项并将其粘贴到您的 .m2(maven 本地存储库)文件夹中。