Pregunta

Como se puede ver desde el título, quiero pedir que el caso de href="http://en.wikipedia.org/wiki/Apache_Maven" en Maven 3 no hay soporte para la versión en $ pom.xml más. ¿Tenemos que escribir realmente una constante cada vez que en cada proyecto en todos los archivos de configuración relacionados pom.xml y otra vez y otra vez? ¿Cómo podemos evitar hacer esto? ¿Cómo podemos utilizar un método de control de versiones como $ versión?

¿Fue útil?

Solución

El ${version} expresión está en desuso, se debe utilizar ${project.version} lugar, pero ambos todavía está apoyado y desde luego no necesita una propiedad personalizada.

La siguiente justo me da buenos resultados con Maven 3:

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>services</artifactId>
  <version>${project.version}</version>
  <type>ejb</type>
</dependency>

Y también echar un vistazo a mi respuesta anterior a Advertencia sobre el uso de project.parent.version como la versión de un módulo en Maven 3 , la forma en que está usando version (basado en lo que he visto en los comentarios en otra respuesta) no hacen mucho sentido en mi humilde opinión y Maven 3 realidad amablemente sugiere seguir una buena práctica. Sólo heredar la versión.

Otros consejos

El uso de una macro en el interior del elemento superior <version/> y la versión en el elemento <parent/> nunca trabajó en Maven 2. Al parecer, al trabajo, pero nada más que confusión causada aguas abajo. Si eso no es lo que está hablando, por favor aclarar su pregunta.

El error de abajo muestra la desaprobación de $(artifactId} y ${version}

  

[ADVERTENCIA] La expresión $ {} artifactId está en desuso. Por favor use   $ {} Project.artifactId lugar. [ADVERTENCIA] La expresión $ {version} es   obsoleto. Por favor, use $ {} project.version lugar. [ADVERTENCIA]   [ADVERTENCIA] Es muy recomendable para solucionar estos problemas porque   amenazar L a la estabilidad de su construcción. [ADVERTENCIA] [ADVERTENCIA] Por esta   razón, las futuras versiones de Maven podrían dejar de apoyar edifi g tales   proyectos mal formados.

El mensaje de advertencia lo explica. Reemplazar ${artifactId} con ${project.artifactId} y ${version} con ${project.version}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top