【问题标题】:How to create local Maven repository for hosting non-Mavenized libraries?如何创建本地 Maven 存储库以托管非 Mavenized 库?
【发布时间】:2011-04-24 18:51:47
【问题描述】:

问题是:我喜欢使用 Maven,因为它完全简化了开发和依赖管理。但是,我正在使用未 Mavenized 的服务器,因此我不能将其添加为 provided 依赖项。有没有办法简单地指定一个额外的库文件夹并将其添加到 Java 编译器类路径中,或者我是否需要为此创建一个完整的本地 Maven 存储库?我知道这完全限制了我的便携性,但我可以接受。想法?此外,编译后,我需要将所有未提供的依赖项复制到本地服务器 lib 目录,我假设我可以使用 copy-dependencies 插件来移动所有内容。

【问题讨论】:

    标签: java maven


    【解决方案1】:

    从 Sonatype、Artifactory 或任何其他存储库管理器免费下载 Nexus。

    另一种方法是了解 install:install-file 将 jar 放入您的个人本地 repo。然而,拥有一个完整的 repo 有很多优点(不是通过缓存的速度),所以安装一个更容易。

    【讨论】:

    • 这将使我能够创建自己的本地存储库吗?有没有更简单的方法将外部 JAR 添加到我的编译器类路径中?
    • 我推荐 Artifactory。我已经使用过几次 nexus,它很好,但升级并不总是与旧的 maven 版本兼容,而且它在发行说明中没有警告就中断了。
    • 我最终只是将 JAR 推送到我的本地存储库中。它有效。
    【解决方案2】:

    您可以使用 Maven2 存储库实现,例如 Nexus、Artifactory 或 Archiva。

    您可以为您正在使用的非 Maven 依赖项创建一个简单的 POM,并使用 deploy:deploy-file 目标将其部署到存储库。

    如果您只需要本地依赖项,您可以使用install:install-file 在本地存储库中安装依赖项。这种方法只需要在你的机器上安装 maven。

    如果您只想将库添加到构建路径而不担心存储库,您可以将它们声明为system dependencies。我不推荐这种方法,但它应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2012-11-29
      • 2011-11-05
      • 1970-01-01
      • 2012-12-10
      • 2012-09-13
      • 2017-12-19
      • 2013-05-10
      • 1970-01-01
      相关资源
      最近更新 更多