【问题标题】:Download Maven2 dependency from non-standard layout repository从非标准布局存储库下载 Maven2 依赖项
【发布时间】:2011-01-22 08:04:15
【问题描述】:

我需要从非标准布局存储库下载文件。

标准存储库布局是groupId>/<artifactId>/<version>/<artifactId>-<version>.<packaging> 但是,我需要下载以下文件:

http://hudson.myserver.com:10000/repo/ocp-services/schemas/trunk/201/archive/schemas/dist/schemas.jar

其中 ocp-services 实际上是 groupId,schemas 是 artifactId,201 是版本。

如何向该文件添加依赖项并将其下载到我的项目和本地存储库中?

如果这有帮助的话,这是一个 Hudson 文件存储库,但是第三方很难让他们更改任何位置。

【问题讨论】:

    标签: maven-2 repository hudson


    【解决方案1】:

    一种选择是注册自定义ArtifactRepositoryLayout 实现并使用此自定义布局声明存储库。我从来没有这样做过,但应该可以,请查看blog post

    第二种选择是将 Maven 配置为通过某种自定义代理(例如 Servlet)并动态重写此特定依赖项的 URL。

    在这两种情况下,我担心 Maven 会抱怨缺少元数据(“Maven 中的依赖项不仅仅是一个 JAR 文件”,请参阅 3.5.5. Maven's Dependency Management),因为 hudson 文件存储库是只是不是一个 Maven 存储库。也许这可以通过编程方式处理。但正如我所说,我从来没有这样做过。

    第三种选择是询问构建您需要的 JAR 的项目deploy 它(在 maven 意义上)。这当然是最好的解决方案。

    最后一个选项是直接下载这个 JAR 并在本地存储库中手动下载到 install it。如果这是一个选项,那就去吧。

    【讨论】:

      【解决方案2】:

      您是否尝试将其添加到您的 pom.xml 中:

      <dependencies>
                  <dependency>
                      <groupId>ocp-services</groupId>
                      <artifactId>schemas</artifactId>
                      <version>201</version>
                      <type>jar</type>
                  </dependency>
              </dependencies>
      

      或者如果 Pascal 说的那样不起作用,请手动安装它

      【讨论】:

        猜你喜欢
        • 2013-10-08
        • 1970-01-01
        • 2020-06-03
        • 2022-09-23
        • 2020-07-13
        • 2016-04-13
        • 2021-11-21
        • 2014-06-20
        • 2016-06-12
        相关资源
        最近更新 更多