tutorial que pom homepage goals español consola comandos central java maven build dependencies ivy

java - que - ¿Cómo descargar múltiples dependencias Maven en Ivy con diferentes clasificadores?



maven tutorial español (1)

Así es como recuperas más de un artefacto asociado con un módulo Maven:

<dependency org="org.neo4j.app" name="neo4j-server" rev="1.5-SNAPSHOT"> <artifact name="neo4j-server" type="jar" /> <artifact name="neo4j-server" type="jar" m:classifier="static-web"/> </dependency>

La sintaxis es extraña debido a la forma en que Maven hace referencia a artefactos adicionales utilizando clasificadores.

El repositorio de instantáneas neo4j debe agregarse a su archivo ivysettings.xml (las versiones de instantáneas no se publican en Maven Central)

<ivysettings> <settings defaultResolver="chain"/> <resolvers> <chain name="chain"> <ibiblio name="central" m2compatible="true"/> <ibiblio name="neo4j-snapshot" m2compatible="true" root="http://repo.neo4j.org/content/repositories/snapshots"/> </chain> </resolvers> </ivysettings>

Otros asuntos

Correcciones de versión

<dependency org="org.aspectj" name="aspectjrt" rev="1.6.11"/> <dependency org="org.aspectj" name="aspectjtools" rev="1.6.11"/>

POM roto del repositorio

El problema con el uso de repositorios instantáneos es que los POM se rompen. Ivy no puede procesar el siguiente archivo:

http://repo.neo4j.org/content/repositories/snapshots/org/neo4j/app/neo4j-server/1.5-SNAPSHOT/neo4j-server-1.5-SNAPSHOT.pom

Esto evita que la hiedra descargue los artefactos del servidor neo4j ....

[ivy:retrieve] :::: WARNINGS [ivy:retrieve] io problem while parsing ivy file: http://repo.neo4j.org/content/repositories/snapshots/org/neo4j/app/neo4j-server/1.5-SNAPSHOT/neo4j-server-1.5-SNAPSHOT.pom: Impossible to load parent for file:/home/mark/.ivy2/cache/org.neo4j.app/neo4j-server/ivy-1.5-SNAPSHOT.xml.original. Parent=org.neo4j.build#parent-pom;25 [ivy:retrieve] module not found: org.neo4j.app#neo4j-server;1.5-SNAPSHOT .. [ivy:retrieve] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:retrieve] :: UNRESOLVED DEPENDENCIES :: [ivy:retrieve] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:retrieve] :: org.neo4j.app#neo4j-server;1.5-SNAPSHOT: not found [ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::

Work-around

En el archivo de configuración, configure ivy para recuperar los artefactos directamente utilizando el resolver url . Ibiblio resolver se utiliza para todos los demás módulos cuyos POM son válidos.

<ivysettings> <settings defaultResolver="chain"/> <resolvers> <chain name="chain"> <ibiblio name="central" m2compatible="true"/> <ibiblio name="neo4j-snapshot" m2compatible="true" root="http://repo.neo4j.org/content/repositories/snapshots"/> </chain> <url name="neo4j-snapshot-hack"> <artifact pattern="http://repo.neo4j.org/content/repositories/snapshots/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/> </url> </resolvers> <modules> <module organisation="org.neo4j.app" name="neo4j-server" resolver="neo4j-snapshot-hack"/> </modules> </ivysettings>

Esto significará que las dependencias transitorias en el archivo POM by-passed pueden omitirse. No se puede evitar si el POM no funciona correctamente

Estoy tratando de depender del servidor jar Neo4j y el jar servidor Neo4j - static-web.jar en Ivy. Estoy intentando algo como

<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven"> <info organisation="org.jimwebber" module="neo4j-koans"/> <dependencies> <dependency org="org.springframework.data" name="spring-data-neo4j" rev="1.0.0.RELEASE"> <exclude module="jms"/> <exclude module="jmxtools"/> <exclude module="jmxri"/> <exclude org="org.slf4j" name="slf4j-log4j12"/> </dependency> <dependency org="org.aspectj" name="aspectjrt" rev="1.6.11.RELEASE"/> <dependency org="org.aspectj" name="aspectjtools" rev="1.6.11.RELEASE"/> <dependency org="org.neo4j.app" name="neo4j-server" rev="1.5-SNAPSHOT" m:classifier="static-web"/> <dependency org="org.neo4j.app" name="neo4j-server" rev="1.5-SNAPSHOT"/> <dependency org="org.neo4j" name="neo4j-community" rev="1.5-SNAPSHOT"/> <dependency org="org.neo4j" name="neo4j-shell" rev="1.5-SNAPSHOT"/> <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.7.5"/> <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.7.5"/> <dependency org="com.sun.jersey" name="jersey-client" rev="1.3"/> <dependency org="org.mockito" name="mockito-all" rev="1.8.5"/> <dependency org="junit" name="junit" rev="4.7"/> </dependencies> </ivy-module>

Pero nunca bajé el .jar "staic-web", y tampoco el error. ¿Alguien sabe cómo hacer esto?

Gracias por cualquier pista!

/ peter