使用 maven 将打包好的私有依赖安装到本地 repository

使用 maven 将打包好的私有依赖安装到本地 repository

Install jar

要将打包好的 JAR 包和源代码包(source package)安装到本地 Maven 存储库(repository)中,您可以使用 Maven 的 install 目标。以下是如何执行此操作的步骤:
1. 打开命令行终端。
2. 确保您已经进入了包含Maven项目的根目录。
3. 运行以下 Maven 命令,使用 install 目标将 JAR 包和源代码包安装到本地存储库中:

mvn install:install-file -Dfile=path/to/your-artifact.jar -DgroupId=your.groupId -DartifactId=your-artifactId -Dversion=your-version -Dpackaging=jar

请将上述命令中的以下内容替换为您的项目信息:
* path/to/your-artifact.jar:JAR包的路径。
* your.groupId:您的项目的groupId。
* your-artifactId:您的项目的artifactId。
* your-version:您的项目的版本号。
* jar:打包类型,如果是源代码包,则将 packaging 更改为 jar

执行此命令后,Maven 将会将指定的 JAR 包和源代码包复制到本地 Maven 存储库中(通常是 ~/.m2/repository ),可以在项目中引用它们。确保您的 Maven 配置正确,以便项目可以找到这些依赖项。

请注意,如果您的项目已经使用 Maven 进行构建,通常不需要手动安装 JAR 包和源代码包到本地存储库。Maven 会自动处理依赖项的安装和下载。手动安装通常只在某些特殊情况下使用。

Install pom

和上面基本一样,只是 packagingpomfile 为文件 pom 路径。

Install sources

和上面 jar install 基本一样,packaging 还是为 jar,还要加 -Dclassifier=sources.

mvn install:install-file -Dfile=path/to/your-artifact-sources.jar -DgroupId=your.groupId -DartifactId=your-artifactId -Dversion=your-version -Dpackaging=jar -Dclassifier=sources

确保替换上述命令中的以下内容:
* path/to/your-artifact-sources.jar:源代码JAR包的路径。
* your.groupId:您的项目的groupId。
* your-artifactId:您的项目的artifactId。
* your-version:您的项目的版本号。

执行此命令后,Maven 将源代码 JAR 包安装到本地 Maven 存储库中,并使用 classifier sources 来标识它是源代码包。之后,您可以在 Maven 项目中引用这个源代码包作为依赖项。

示例

#!/usr/bin/env bash

set -x

file=
groupId=xxx
artifactId=
version=xxx
packaging=
classifier=

mvn_install() {
  mvn install:install-file -Dfile=${file} -DgroupId=${groupId} -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=${packaging} || exit 1
}

mvn_install_classifier() {
  mvn install:install-file -Dfile=${file} -DgroupId=${groupId} -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=${packaging} -Dclassifier=${classifier} || exit 1
}

mvn_install_3() {
  file=${artifactId}-${version}.pom
  artifactId=${artifactId}
  packaging=pom
  mvn_install || exit 1

  file=${artifactId}-${version}.jar
  artifactId=${artifactId}
  packaging=jar
  mvn_install || exit 1

  file=${artifactId}-${version}-sources.jar
  artifactId=${artifactId}
  packaging=jar
  classifier=sources
  mvn_install_classifier || exit 1
}

artifactIds_3=(
  xxx
  yyy
)

for a in "${artifactIds_3[@]}"; do
  artifactId=${a}
  mvn_install_3 || exit 1
done


artifactIds_1=(
  zzz
  nnn
)

for a in "${artifactIds_1[@]}"; do
  artifactId=${a}
  file=${artifactId}-${version}.pom
  packaging=pom
  mvn_install || exit 1
done