2011-04-06 14 views
12

Los repositorios de Maven contienen estas dos dependencias: org.apache.commons:commons-io:1.3.2 y commons-io:commons-io:1.3.2. ¿Cuál es la diferencia y cuál debería usar en mi pom.xml?¿Cuál es la diferencia entre las dependencias de maven org.apache.commons: commons-io y commons-io: commons-io?

En general, algunos de los paquetes de Apache commons se encuentran en http://repo1.maven.org/maven2/org/apache/commons/ y la mayoría de los paquetes commons-* se encuentran aquí http://repo1.maven.org/maven2/.

+1

Simplemente estoy luchando contra esta confusión también. Para empeorar las cosas, en el repositorio de Maven aprenderá que para los bienes comunes -io el ID de grupo se cambió de org.apache.commons a commons-io, pero para commons-lang es al revés. – virgo47

+0

Ten en cuenta que si tuvieras una versión anterior de org.apache.commons: commons-io (por ejemplo, en tu maven .m2/repositorio local) no tendrá una etiqueta de "reubicación", así que si tienes ambas it y io-commons como dependencias/dependencias transitivas puede terminar con dos versiones diferentes de los jar en su classpath (yikes maven). Para arreglar eliminar la carpeta ~/.m2/repository/org/apache/commons/commons-io para forzar la descarga – rogerdpack

Respuesta

1

Las dos dependencias tienen el mismo aspecto. Preferiría usar commons-io: commons-io, porque el pom de org.apache.commons: commons-io: 1.3.2 es incorrecto (ID de grupo incorrecto!)

Los artefactos ubicados en esta posición: http://repo1.maven.org/maven2/org/apache/commons/ son más nuevo en la fecha que los demás.

Cuestiones relacionadas