当前位置: 首页 > 知识库问答 >
问题:

如何将具有依赖JAR的第三方库部署到存储库

李安歌
2023-03-14

例如,xxy-company-api-9.0.jar,这个jar可能需要abc-9.1.jar,commons-lang-1.0.jar等。当POM引用xxy-company工件时,它应该自动获取所有依赖的jar。有可能吗?怎么做?

备注

我们有第三方的JAR,我们没有与这些JAR相关联的源代码项目。我们从供应商、供应商或其他公司获得这些罐子。当我们收到这些罐子时,它会伴随着依赖的罐子等。

问题:是否可以从存储库中只指定主jar,而maven将自动从Artifactory中寻找所有依赖的jar,而不显式地指定到POM中???

我正在查看命令mvn install:install-file如何为安装文件指定依赖的JAR?

共有1个答案

羊舌旭尧
2023-03-14

您可以使用assembly-plugin:

如何使用Maven将所有必需的JAR文件放入最终JAR文件的库文件夹中?

另一种方式是在资源中定义路径:

<resources>
>    <resource>
>         <directory>${WORKSPACE_PATH}/</directory>
>         <includes>
>              <include>*.jar</include>
>         </includes>
>         <targetPath>lib</targetPath>
>    </resource>
></resources>
 类似资料:
  • 因此,我在gitlab上有一个项目test-project(https://gitlab.com/group/test-project),这是一个我使用gitlab管道构建和部署的java应用程序。在构建阶段,我正在执行,包test-project.jar被推送到gitlab maven存储库(https://gitlab.com/group/test-project/-/packages)。 现

  • 我已经构建了Flink的快照版本,并希望将其部署到我的私有nexus存储库中。我尝试在pom中添加以下配置。xml 然后运行“mvn部署”命令。不幸的是,maven仍然试图将Flink的快照部署到官方存储库中: [错误]无法执行目标组织。阿帕奇。专家插件:maven部署插件:2.8.2:project上的部署(默认部署):未能部署工件:无法传输工件组织。阿帕奇。flink:force shadin

  • 我运行一个开源库,正在考虑让它完全接受Maven并将其上传到中央存储库,以便人们可以轻松地将其添加到他们的项目中。 问题在于,它依赖于几个较旧的库,这些库在任何 Maven 存储库中都不存在。目前,这意味着pom文件必须使用依赖项范围。我还阅读了有关为项目创建本地存储库以安装第三方库的信息。 但是,我的印象是,当我将库部署到 Maven 存储库时,这两种方法都不能很好地工作。也就是说,如果它依赖于

  • 我有一个pom.xml文件,这里有一些第三方jar依赖项和一些项目相关的jar。我只需要将第三方jar部署到artifactory中,而不是所有的jar。

  • 最后,我计划通过ssh将生成的jar和依赖项jar复制到远程主机,但我想应该有一种方法可以通过一个gradle任务直接完成这一任务 真诚地希望有人能给出一些有用的提示

  • 我正在使用gradle构建我的项目,但gradle仅将工件复制到本地maven存储库,而不是所有依赖项。我需要的是将工件及其所有依赖项复制到本地maven存储库中。 请建议在gradle做这件事的方法。我尝试了gradle的文档,但没有成功。