2010-03-01 62 views
0

我需要从非标准布局仓库下载文件。从非标准布局仓库下载Maven2依赖项

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

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

其中OCP-服务是有效的的groupId,模式是的artifactId和201是版本。

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

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

回答

1

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

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

在这两种情况下,恐怕Maven会抱怨缺少的元数据(“在Maven中一个依赖不仅仅是一个JAR文件”,见3.5.5. Maven's Dependency Management),因为哈德森文件库只是一个Maven库。也许这可以通过编程来处理。但正如我所说,我从来没有这样做过。

第三个选择是问建设JAR的项目需要到deploy它(在maven的意义上)。那当然是最好的解决方案。

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

0

您是否尝试过加入这你的pom.xml:

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

,或者帕斯卡说:手动安装

不工作