Aquí está el panorama:Maven INSTANTÁNEA nombres de archivo JAR no es coherente utilizando Maven Asamblea en el archivo MANIFIESTO
dos proyectos Maven 3 se basa.
La compilación 1 tiene contenedores de instantáneas que se implementan en Nexus.
Build 2 tiene dependencias en las instantáneas, referenciados como 1.0.0-SNAPSHOT, que está empaquetado y se subió la cremallera con el comando mvn clean package assembly:single
.
El problema que nos encontramos con: En ocasiones, cuando se está creando el montaje, el archivo MANIFEST para el frasco a veces decir some.jar.1.0.0-INSTANTÁNEA y, a veces dirá some.jar. 1.0.0-datetime stamp, lo que causa errores de clase no definidos.
¿Hay alguna forma de evitar este problema de nomenclatura en el archivo de manifiesto?
--edit--
Otras investigaciones han descubierto lo siguiente:
"Si la instantánea se resolvió a partir de un acuerdo de recompra entonces será marcado con la fecha, si viniera del reactor o local repo, entonces será -SNAPSHOT. el plugin pone en la lógica de resolución experto por lo que este es el núcleo experto comportamiento. "
ésta es la i exacta ssue que se está ejecutando. El archivo de manifiesto segunda construcción siempre tiene una entrada de ./lib/Framework-1.0.0-SNAPSHOT.jar donde como los cambios de nombre de archivo jar reales entre ./lib/Framework-1.0.0-SNAPSHOT.jar y ./lib/Framework-1.0.0-timestamp.jar según la cita anterior.
[Esto] (http://stackoverflow.com/questions/2516860/maven-how-to-create-assembly-with-snapshot-artifacts-without- timestable-file-na) podría ayudar, describe la configuración de outputfilenamemapping para hacer que los nombres de los archivos sean coherentes en las instantáneas. – prunge
¿Cómo se genera el manifiesto de SNAPSHOT y cómo está configurado para producir esta información? Además, ¿por qué mvn clean package assembly: paquete único llamado y no simplemente mvn package causa que el paquete llame al complemento ensamblado configurado. – khmarbaise
No hay ningún manifiesto para SNAPSHOT. El manifiesto con el problema está en la 2da construcción. Y con la ayuda de un compañero de trabajo, encontramos 'Si la instantánea se resolvió a partir de un repositorio, se marcará con la fecha, si proviene del reactor o del repositorio local, entonces será -SNAPSHOT. El complemento llama a la lógica de resolución maven, por lo que este es el comportamiento principal del maven. Este es el problema exacto que estoy teniendo, solo necesito solucionar esto. En cuanto a por qué paquete de ensamblaje: se llama single, bueno, eso es porque somos nuevos en maven como un todo. – Thaldin