【问题标题】:add external jar to our dependency将外部 jar 添加到我们的依赖项
【发布时间】:2013-08-07 12:06:27
【问题描述】:

有一个 jar 文件可以说“abc.jar”,它不存在 maven 依赖项(即使用自己的类的 java 命令创建了一个 jar)。我想将此 jar 添加为 maven 依赖项,以便在构建时它会像其他 maven 依赖项一样自动将该 jar 复制到 lib 文件夹中。我会怎么做。请帮忙。

【问题讨论】:

    标签: java maven-2 maven-plugin maven-assembly-plugin


    【解决方案1】:

    一个正常的 maven 依赖总是通过查看存储库来解决的。因此,您必须将 JAR 文件放入存储库中。

    您可以安装您的 JAR 到您的本地存储库中。看看install plugin。安装文件目标是您的朋友。

    如果其他开发人员也需要这个 JAR(因为他们正在处理同一个项目),他们要么也需要在本地安装它,或者 - 更好 - 你部署 JAR 到远程存储库。看看deploy plugin。这里的 deploy-file 目标是你的朋友。要部署工件,您需要像 NexusArtifactory 这样的存储库管理器。

    但是,依赖项也可能具有系统范围(查看其他答案)。

    【讨论】:

      【解决方案2】:

      您可以在项目的 POM 文件中的 dependency 标记中使用 systemPath 属性。

      在你的 pom.xml 中,使用下面的 sn -p 对应abc.jar:

      <dependencies>
        <!-- Other dependencies -->
        <dependency>
          <groupId>abc</groupId>
          <artifactId>x</artifactId>
          <version>1.0</version>
          <scope>system</scope>
          <systemPath>{path_to_abc.jar}</systemPath>
        </dependency>
      </dependencies>
      

      此工件对应的scope参数必须设置为system,才能从指定的systemPath拾取工件。

      希望这会有所帮助!

      【讨论】:

        【解决方案3】:

        将其添加为具有系统范围的依赖项。 See the docs here.

        但是,与其将其添加为系统依赖项,不如将 jar 本身 mavenize 更好,然后您可以构建并将其安装到您的依赖项管理系统中。

        另外,请参阅此问题:Can I add jars to maven 2 build classpath without installing them?

        【讨论】:

          猜你喜欢
          • 2021-06-18
          • 2016-11-22
          • 2018-01-05
          • 2019-09-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多