常春藤 - 添加存储库,从特定存储库获取

时间:2011-08-04 08:21:35

标签: maven ivy

我对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-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>

基本上我希望从MAVEN mvnrepository下载JSON。我认为,当我把maven放到第一个位置时,它会从那里得到它,那就是那个。但它似乎根本没有使用mvnrep。

我确实认为它配置错误..但我不确定如何做对。

我确实阅读了很多关于它的帖子,我仍然觉得我不知道解决方案。

感谢您提供任何帮助!!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

也许您错过了链中的returnFirst="true"属性。