如何从GCP Artifact Registry通过CLI下载jar包
Maven私有Artifact Registry CLI下载Jar包方案
下面提供两种可直接落地的操作方式:
方式1:使用Maven原生命令下载(无需手动拼接路径,推荐)
不需要编写pom.xml,直接执行mvn命令即可拉取对应Jar到本地,同时会自动复用你本地Maven配置里的仓库鉴权信息:
mvn dependency:get \ -DremoteRepositories=你的私有仓库ID::default::你的私有仓库根地址 \ -DgroupId=目标Jar的groupId \ -DartifactId=目标Jar的artifactId \ -Dversion=目标Jar的版本 \ -Dpackaging=jar
如果你的本地~/.m2/settings.xml已经配置过该私有仓库的地址和鉴权信息,-DremoteRepositories参数可以直接省略。
如果需要把下载好的Jar导出到指定路径,追加执行下面的命令即可:
mvn dependency:copy \ -Dartifact=groupId:artifactId:version:jar \ -DoutputDirectory=你要存放Jar的目标本地路径
对应你给出的iceberg公共包示例,命令写法如下:
mvn dependency:get -DremoteRepositories=central::default::https://repo1.maven.org/maven2 -DgroupId=org.apache.iceberg -DartifactId=iceberg-spark-runtime -Dversion=0.7.0-incubating -Dpackaging=jar
方式2:手动拼接路径用curl下载
所有Maven类型仓库的Jar包路径都遵循固定规则,你可以按照如下格式拼接你的私有Artifact Registry资源地址:
[私有仓库根地址]/[groupId按点拆分转为多级路径]/[artifactId]/[版本]/[artifactId]-[版本].jar
你示例中的公共库iceberg包,groupIdorg.apache.iceberg拆分后就是org/apache/iceberg,拼接后就是你给出的curl下载地址。
如果私有仓库需要鉴权,curl命令增加-u参数传入账号密钥即可:
curl -u 你的仓库账号:你的仓库密钥 "拼接完成的私有仓库Jar地址" --output 自定义输出文件名.jar
注意:如果Jar包带有classifier后缀(比如
-sources、-javadoc、_2.12这类标识),拼接路径时要在版本后面加上对应后缀,格式为[artifactId]-[version]-[classifier].jar
内容的提问来源于stack exchange,提问作者Deependra Patel
相关产品推荐
相关产品推荐

