【问题标题】:How to put a third party library into the local repository if it is not publicly downloadable?如果第三方库不可公开下载,如何将其放入本地存储库?
【发布时间】:2011-02-27 06:58:36
【问题描述】:

在公共 maven 存储库中找不到某些 3rd 方 JAR 文件。要使用它们,我需要手动将它们添加到本地存储库吗?有什么步骤可以做到吗?

【问题讨论】:

    标签: java maven-2 maven


    【解决方案1】:

    您可以为每个 jar 定义一个最小的 pom 并将它们安装到本地存储库中。甚至还有a guide

    命令(从指南复制并粘贴)是:

    mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
        -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
    

    【讨论】:

    • groupId 可以是 com.example.project 和工件 id library-name:如果我们有来自 codehauses mojo 的 jar aspectj-maven-plugin.jar,那么您将使用 org.codehaus.mojo 作为 groupId和 aspectj-maven-plugin 作为 artifactId
    【解决方案2】:

    除了 Aleksi 的回答之外,您还可以引入一个 maven 代理,例如 Nexusartifactory

    这些工具由 maven(如果已配置)访问以获取工件,并在需要时依次下载它们。有了这样的工具,您的本地 maven 只需要知道一个位置,Nexus 或 Artifactory 可以将一系列互联网存储库映射到一个“虚拟”存储库。您当然也可以上传自己的工件。

    如果您是通过快速的互联网连接自行开发,那可能有点矫枉过正。

    如果您在企业环境中,我会推荐 Artifactory。 Nexus 并不总是在较旧的 Maven 版本中得到很好的测试:(

    【讨论】:

      猜你喜欢
      • 2014-11-11
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 2017-07-31
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多