常用 java 库的本地 Nexus Maven 存储库

Local Nexus Maven repository for common java libraries

我们有一个 Nexus 安装,其中包含一组常用的 java 依赖项(commons-codec、jodatime 等)

目录结构类似下面

commonjavalibraries
|
|_ commons-codec
| |_commons-codec
|   |_1.2
|_ commons-compress
  |_commons-compress
    |_1.3

我正在将这些依赖项的最新版本添加到存储库。

为此,我创建了一个新的 pom 并设置了依赖管理以部署到 Nexus。

不过我现在知道 pom 的 groupId:artifactId:version 属性决定了如何将项目部署到 nexus。我认为这意味着我需要为每个组元素创建一个单独的 pom。

中央仓库pom是如何管理的?我意识到可以代理中央存储库,不幸的是我们的网络不允许下载 jar,因此首先需要一个托管的公共java库存储库。

有没有一种方法可以在不为每个组元素创建 pom 的情况下实现我想要实现的目标?

经过更多挖掘后,我注意到当从中心下载依赖项时,它们与它们的 pom 文件一起存储在 .m2/repositories 中。

我写了一个 Python 脚本来将它们复制到另一个位置,然后遍历该目录树和 运行 mvn deploy:deploy-file 我遇到的每个 jar/pom 对。