Плющ - добавить репозиторий, получить из конкретного репозитория - PullRequest
4 голосов
/ 04 августа 2011

Я довольно новичок в 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>

В основном я хочу, чтобы JSON загружался из MAVEN mvnrepository. Я думал, что когда я поставлю maven на первое место, он получит его оттуда и все. Но, похоже, он вообще не использует mvnrep.

Я думаю, что он настроен неправильно. Но я не уверен, как это сделать правильно.

Я прочитал много сообщений об этом, и я все еще не чувствую, что знаю решение.

Спасибо за любую помощь !!

Ответы [ 2 ]

8 голосов
/ 04 августа 2011

Для принудительного использования определенного распознавателя для модуля используйте что-то подобное в вашем файле 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>

Подробнее см. В документации .

0 голосов
/ 04 августа 2011

Возможно, вам не хватает атрибута returnFirst="true" в вашей цепочке.

...