【问题标题】:Deploying multiple 3rd party JARs to global (internal) Maven nexus将多个 3rd 方 JAR 部署到全局(内部)Maven 关系
【发布时间】:2012-07-12 16:35:12
【问题描述】:

我的硬盘驱动器上的一个文件夹中有大量 3rd 方 JAR 文件(大约 40 个来自我正在使用的各种 SDK 的不同 JAR)。我想在我未来的 Maven 项目中将这些 JAR 声明为依赖项。

我无法从全球 maven 存储库中获取这些 JAR,例如您可以使用Log4J、JUnit、Velocity 等,因为它们在那里不可用。

如何将这些 JAR 文件从我的本地文件夹中获取到我公司的全局(但内部)maven 存储库 (Nexus)?什么是必要的步骤?如果可能的话,最好的解决方案是程序化解决方案。

我很困惑,使用 Google 找不到任何解决问题的方法,因为我认为这是一个非常普遍的问题。所以也许我想错了方向。

非常感谢!

【问题讨论】:

    标签: maven deployment jar dependencies nexus


    【解决方案1】:

    您可以使用 maven-install-plugininstall-file 目标 - 请参阅 example)将库安装到本地存储库。

    您可以使用 maven-deploy-plugindeploy-file 目标 - 请参阅 example)将库部署到远程存储库 (Nexus)。

    您还可以使用 Nexus Web 应用程序将库上传到 nexus(请参阅 Nexus Book - Uploading Artifacts)。

    【讨论】:

    • 感谢您的回复,@FrVaBe。有没有办法使用任何 Maven API 从 Java 中做到这一点?我尝试使用Invoker,但是根据the documentation,不支持部署目标。
    • @HombreFab 我没有以编程方式执行 maven 任务的经验,但应该可以在 pom.build.plugin 部分配置 maven-deploy-plugin 并触发调用者:安装目标。在你的情况下,对我来说最简单的自动化方法似乎是一个批处理脚本,它执行不同的mvn deploy:deploy-file 命令。
    • 谢谢。我将在 Java 中迭代我的 JAR 文件,并通过 calling the commandline 从 java 中直接为每个文件执行“mvn deploy:deploy-file”。这样就可以了。
    • 你好,我已经写了一个小工具来生成 pom.xml 正是为了这个目的,也许我的blog post "How to bulk install 1000 3rd party JARs to Maven local & deploy to remote repo"source of my MavenBulkInstallDeploy project 可能对某人有用。
    猜你喜欢
    • 2011-12-25
    • 2017-07-23
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 2018-06-28
    • 1970-01-01
    相关资源
    最近更新 更多