小技巧:如何使用Java API从Maven仓库下载Maven Artifact

最近在开发中遇到需要从Maven仓库下载Maven Artifact(GAV)的场景,遂有此篇小文。

目的

可以在应用程序中根据Maven坐标(GroupID,ArtifactID,Version,即GAV)从maven仓库中下载maven jar到本地。

Eclipse Aether项目

Eclipse 的Aether项目Wiki)能够满足这个需求,不止于此,它还能同时下载某个GAV的所有传递性依赖的jar,能获取指定版本范围的所有GAV,能把本地的GAV deploy到远程Maven仓库,能显示GAV的依赖层级(Dependency Hierarchy),依赖树(Dependency Tree)。几乎就是把一个Maven发行版嵌入到你的应用程序中。下面用几个代码片段介绍下它的用法。

代码示例1:下载指定的Maven jar包

/**
     * 
     * download the artifact.
     *
     * @param groupId
     * @param artifactId
     * @param version
     * @param localRepositoryBaseDir 本地仓库目录,会下载到该目录
     * @return
     * @throws ArtifactResolutionException
     * @since  1.0
     */
public static File downloadDirectDependency(String groupId, String artifactId, String version,
            String localRepositoryBaseDir)
            throws ArtifactResolutionException {
   


        RepositorySystem system = Booter.newRepositorySystem();

        RepositorySystemSession session =
                Booter.newRepositorySystemSession
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值