Apache IVY: Цепная бирка - PullRequest
       9

Apache IVY: Цепная бирка

1 голос
/ 24 февраля 2012

Я новичок в апаче IVY.Я не смог загрузить springframework.web.servlet из репозитория по умолчанию (MAVEN), так как этот файл jar отсутствует в репозитории maven, поэтому для добавления нового репозитория, в котором есть этот файл, я использовал тег Chain.Но проблема в том, что он загружает все файлы jar из репозитория maven и springframework.web.servlet из другого репозитория, но после этого снова пытается загрузить все остальные файлы jar из второго репозитория.

ivysettings.xml

<ivysettings>
   <settings defaultCache="${ivy.settings.dir}/ivy-cache" defaultResolver="libraries"/>
   <resolvers>
      <filesystem name="projects">
         <artifact pattern="${repository.dir}/[artifact]-[revision].[ext]" />
         <ivy pattern="${repository.dir}/[module]-[revision].xml" />
      </filesystem>
      <chain name="chained">
         <ibiblio name="libraries" m2compatible="true" usepoms="false" />
         <ibiblio name="lib" m2compatible="true" root="https://oss.sonatype.org/content/repositories/springsource-releases"/> 
      </chain>
   </resolvers>
   <modules>
      <module organisation="com.virtusa" name="dependee" resolver="projects"/>
      <module organisation="org.springframework" name="org.springframework.web.servlet" resolver="lib"/>
   </modules> 
</ivysettings>

ivy.xml

<ivy-module version="1.0">
    <info organisation="com.virtusa" module="depender"/>
    <dependencies>

       <dependency org="org.springframework"  name="spring-core" rev="3.0.4.RELEASE" />
       <dependency org="org.springframework"  name="spring-aop" rev="3.0.4.RELEASE" />
       <dependency org="org.springframework"  name="spring-hibernate3" rev="2.0.8" />
       <dependency org="org.springframework"  name="spring-context" rev="3.0.4.RELEASE" />
       <dependency org="org.springframework"  name="spring-beans" rev="3.0.4.RELEASE" />
       <dependency org="org.springframework"  name="spring-web" rev="3.0.4.RELEASE" />
       <dependency org="org.springframework"  name="spring-webmvc" rev="3.0.4.RELEASE" />
       <!-- Added  -Bauddhik-->
       <dependency org="org.springframework.security" name="spring-security-web" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework.security" name="spring-security-taglibs" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework.security" name="spring-security-core" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework.security" name="spring-security-config" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework.security" name="spring-security-acl" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-instrument-tomcat" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-jdbc" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-context-support" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-orm" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-jms" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-aspects" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-asm" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-expression" rev="3.0.4.RELEASE"/>
       <dependency org="javax.transaction" name="jta" rev="1.1"/>
       <dependency org="cglib" name="cglib" rev="2.1_3"/>
       <dependency org="dom4j" name="dom4j" rev="1.6.1"/>
       <dependency org="antlr" name="antlr" rev="2.7.6rc1"/>
       <dependency org="org.springframework" name="spring-tx" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-test" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-instrument" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-webmvc-portlet" rev="3.0.4.RELEASE"/>
       <dependency org="org.springframework" name="spring-oxm" rev="3.0.4.RELEASE"/>
        <dependency org="asm" name="asm" rev="3.3.1"/>
        <dependency org="asm" name="asm-attrs" rev="2.2.3"/>
       <dependency org="org.springframework" name="org.springframework.web.servlet" rev="3.0.4.RELEASE" />
       <!-- end -->
        <dependency org="mysql" name="mysql-connector-java" rev="5.1.6" />
        <dependency org="org.hibernate" name="hibernate-core" rev="3.3.1.GA" />
        <dependency org="org.hibernate" name="hibernate-annotations" rev="3.4.0.GA" />
        <dependency org="org.hibernate" name="hibernate-commons-annotations" rev="3.3.0.ga" />
        <dependency org="javax.servlet" name="servlet-api" rev="2.5"/>
        <dependency org="taglibs" name="standard" rev="1.0.6"/>
        <dependency org="javax.servlet" name="jstl" rev="1.2"/>
        <dependency org="commons-lang" name="commons-lang" rev="2.0"/>
         <dependency org="commons-collections" name="commons-collections" rev="3.1"/>
        <dependency org="org.hibernate" name="ejb3-persistence" rev="3.3.2.Beta1"/>
        <dependency org="org.hibernate" name="hibernate-ehcache" rev="4.0.1.Final"/>

    </dependencies>
</ivy-module>

1 Ответ

3 голосов
/ 24 февраля 2012

Я думаю, что ваша проблема заключается в том, что ваш распознаватель по умолчанию все еще установлен на библиотеки вместо цепочки .....

Правильно ли я считаюхотите использовать Maven Central для всех зависимостей, кроме тех исключений, которые перечислены в разделе ваших модулей?Если это так, то вам не нужен цепной преобразователь.Следующий файл настроек намного проще:

<ivysettings>
   <settings defaultCache="${ivy.settings.dir}/ivy-cache" defaultResolver="central"/>
   <resolvers>
      <ibiblio name="central" m2compatible="true"/>

      <filesystem name="local-projects">
         <artifact pattern="${repository.dir}/[artifact]-[revision].[ext]" />
         <ivy pattern="${repository.dir}/[module]-[revision].xml" />
      </filesystem>

      <ibiblio name="spring-releases" m2compatible="true" root="https://oss.sonatype.org/content/repositories/springsource-releases"/> 
   </resolvers>
   <modules>
      <module organisation="com.virtusa" name="dependee" resolver="local-projects"/>
      <module organisation="org.springframework" name="org.springframework.web.servlet" resolver="spring-releases"/>
   </modules> 
</ivysettings>

Примечание:

  • Я удалил атрибут «usePoms = false» в центральный распознаватель Maven.Вы теряете одно из основных преимуществ использования репозитория Maven.Автоматическое удаление зависимостей вместо необходимости перепроектировать сборки других людей: -)
...