2011-08-04 41 views
4

我是IVY的新手。我試圖執行以下操作:常春藤 - 添加存儲庫,從特定存儲庫中獲取

我想將http://mvnrepository.com添加到存儲庫列表中。我不確定是否必須根據在mvnrepository中定義的方式來定義正確的模式。

另外我想從那裏下載一個特定的庫,而不是從另一個庫中下載。

這是我ivysettings文件:

<ivysettings> 
    <properties file="build.properties" /> 
    <settings defaultResolver="local-chain"/> 
    <resolvers> 
     <ibiblio name="ibiblio-maven2" m2compatible="true"/> 
     <ibiblio name="java-net-maven2" root="http://download.java.net/maven/2/" m2compatible="true" /> 
     <ibiblio name="maven" root="http://mvnrepository.com/artifact/" m2compatible="true" /> 
     <filesystem name="project-built" checksums=""> 
      <ivy pattern="${repository.dir}/[module]-ivy.xml" /> 
      <artifact pattern="${repository.dir}/[artifact].[ext]" /> 
     </filesystem> 
     <chain name="local-chain"> 
      <resolver ref="maven"/> 
      <resolver ref="ibiblio-maven2"/> 
      <resolver ref="java-net-maven2"/> 
      <resolver ref="project-built"/> 
     </chain> 
    </resolvers> 

這是我的ivy文件:

<ivy-module version="1.0"> 
<info organisation="project" module="com.project.test.framework" /> 
<dependencies> 
    <dependency org="commons-collections" name="commons-collections" rev="3.2"/> 
    <dependency org="commons-configuration" name="commons-configuration" rev="1.6"/> 
    <dependency org="commons-lang" name="commons-lang" rev="2.6"/> 
    <dependency org="commons-logging" name="commons-logging" rev="1.1"/> 
    <dependency org="junit" name="junit" rev="4.8"/> 
    <dependency org="org.seleniumhq.selenium" name="selenium" rev="2.0rc2"/>  
    <dependency org="net.sf.json-lib" name="json-lib" rev="2.4" conf="default->compile"/> 
    <dependency org="com.sun.jersey" name="jersey-core" rev="1.8" conf="default->compile"/> 
    <dependency org="com.sun.jersey" name="jersey-client" rev="1.8" conf="default->compile"/> 
</dependencies> 

基本上我想JSON從MAVEN mvnrepository下載。我認爲,當我把maven放在第一位時,它會從那裏得到它,就是這樣。但它似乎並沒有使用mvnrep。

我確實認爲它配置了錯誤的方式..但我不確定如何正確執行。

我看了很多關於它的文章,但我仍然覺得我不知道解決方案。

感謝您的任何幫助!

回答

8

要強制特定解析器的module使用這樣的事情在你的ivysettings.xml:

<ivysettings> 
    <properties file="build.properties" /> 
    <settings defaultResolver="local-chain"/> 
    <resolvers> 
     <ibiblio name="ibiblio-maven2" m2compatible="true"/> 
     <ibiblio name="java-net-maven2" root="http://download.java.net/maven/2/" m2compatible="true" /> 
     <ibiblio name="maven" root="http://mvnrepository.com/artifact/" m2compatible="true" /> 
     <filesystem name="project-built" checksums=""> 
      <ivy pattern="${repository.dir}/[module]-ivy.xml" /> 
      <artifact pattern="${repository.dir}/[artifact].[ext]" /> 
     </filesystem> 
     <chain name="local-chain"> 
      <resolver ref="maven"/> 
      <resolver ref="ibiblio-maven2"/> 
      <resolver ref="java-net-maven2"/> 
      <resolver ref="project-built"/> 
     </chain> 
    </resolvers> 
    <modules> 
     <module organisation="json" resolver="maven"/> 
    </modules> 
</ivysettings> 

有關詳細信息,請參閱documentation

+0

我在哪裏配置模塊? – Hannibal

+0

in ivysettings.xml,我會更新代碼片段 – oers

+0

啊,真好。謝謝。現在我發現它嘗試查找模塊的方式有些問題......它尋找:http://mvnrepository.com/net/sf/json-lib/json-lib/2.4/json-lib- 2.4.pom但那不是它的地方。 :)最後一步接近..謝謝! – Hannibal

0

也許你錯過了連鎖店的returnFirst="true"屬性。

+0

要添加什麼returnFirst =「true?」 – Hannibal