¿Cómo analiza Maven las versiones SNAPSHOT de los repositorios?

Estoy desarrollando un servidor que aloja un repositorio Maven y enfrento el problema de que Maven resuelve incorrectamente las versiones SNAPSHOT si la instantánea no está en un formato específico. Después de buscar las reglas para las versiones, entiendo que el calificador puede ser cualquier cadena, por lo que espero que Maven pueda descargar dependencias con cualquier calificador. Sin embargo, esto no coincide con mi experiencia.

El repositorio tiene la siguiente estructura de carpetas (suponiendo un proyecto maven a.b.c:a.b.c.d:1.0.0-SNAPSHOT):

<repo-root>
|-a
 |-b
  |-c
   |-a.b.c.d
    |-maven-metadata.xml
    |-1.0.0-SNAPSHOT
     |-a.b.c.d-1.0.0-20190213.120000-1.jar
     |-maven-metadata.xml

Si trato de resolver abcd-SNAPSHOT, esto funciona bien. Puedo ver en el registro de Maven que busca a/b/c/a.b.c.d/1.0.0-SNAPSHOT/maven-metadata.xmly luego descarga el archivo JAR correcto. Hasta aquí todo bien.

Pero si cambio el calificador a otra cosa (como eliminar el -1 al final), ¡maven no puede resolver el archivo! En lugar de buscar

<repo-root>/a/b/c/a.b.c.d/1.0.0-SNAPSHOT/<jar-file>

(que sería correcto), se ve en

<repo-root>/a/b/c/a.b.c.d/1.0.0-20190213.120000/<jar-file>

lo cual obviamente está mal. Esto sucede con cada calificador que no se ajusta al formato

\d\.\d\.\d-\d{8}.\d{6}-\d+

¿Por qué Maven no puede resolver tales calificadores? ¿El formato se especifica en alguna parte o es solo un error maven?

Respuesta 1

Estoy creando un complemento de Eclipse. Quiero agregar una columna a la vista de problemas de Eclipse que me permite seleccionar de un menú desplegable de selecciones preestablecidas. ¿Cómo haría para agregar esta funcionalidad? ...

Tengo un proyecto C ++ simple configurado ahora, donde estoy tratando de incluir libxml2. Estoy ejecutando Red Hat 7. He leído varias publicaciones sobre la adición de bibliotecas externas a un proyecto Eclipse C, ...

Aquí está el uso de este diseño que necesito para publicar algunas API para que el mundo externo pueda configurar al usuario y sus servicios. La configuración del usuario incluye principalmente la creación de un nuevo usuario basado en ...

Is it possible to have a regexp replace in a printstream? I have a piece of code that logs all text that is shown in my console windows but it also logs ANSI escape codes. I have found this regexp "...