2011-06-02 24 views
27

¿Existe alguna posibilidad de utilizar el repositorio de Maven local (~/.m2) como caché de Ivy local (~/.ivy)? Ellos tienen diferentes diseños.Usar el repositorio de maven como caché de hiedra local

A veces uso Maven y algunas veces uso SBT que usa Ivy debajo, así que tengo 2 copias de las mismas librerías tanto en Maven como en Ivy. Me gustaría utilizar el mismo directorio para ahorrar espacio en disco y red.

Gracias.

Respuesta

22

Para guardar red, simplemente configure ivy to use local Maven repository

 <property name="local-maven2-dir" value="${user.home}/.m2/repository/" /> 
     <filesystem name="local-maven-2" m2compatible="true"> 
      <artifact 
       pattern="${local-maven2-dir}/[organisation]/[module]/[revision]/[module]-[revision].[ext]" /> 
      <ivy 
       pattern="${local-maven2-dir}/[organisation]/[module]/[revision]/[module]-[revision].pom" /> 
     </filesystem> 
0

He añadido la configuración de caché en el siguiente archivo. ¿Es este el método correcto? SBT sigue descargando los archivos que están presentes en el repositorio local de Maven (~/.m2/repository).

$ cat ~/.ivy2/ivysettings.xml 
<ivysettings> 
    <properties environment="env" /> 
    <caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" /> 

    <property name="local-maven2-dir" value="${user.home}/.m2/repository/" /> 
    <filesystem name="local-maven-2" m2compatible="true" force="false" local="true"> 
     <artifact pattern="${gerald.repo.dir}/[organisation]/[module]/[revision]/[module]-[revision].[ext]"/> 
     <ivy pattern="${gerald.repo.dir}/[organisation]/[module]/[revision]/[module]-[revision].pom"/> 
    </filesystem> 

    <chain name="internal" dual="true"> 
     <resolver ref="local-maven-2"/> 
     <resolver ref="apache-snapshot"/> 
     <resolver ref="maven2"/> 
    </chain> 
</ivysettings> 
Cuestiones relacionadas