2011-01-28 17 views
6

que tienen descriptor experto muy simple que define algunas propiedades:Maven propiedad sobrecarga

<?xml version="1.0"?> 
<project 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
    http://maven.apache.org/xsd/maven-4.0.0.xsd" 
    xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <properties> 
    <it.port>8080</it.port> 
    </properties> 

</project> 

puedo anular it.port propiedad con comando:

$ mvn -Dit.port=8181 verify 

Pero comando siguiente no funciona como se esperaba:

$ MAVEN_OPTS="-Dit.port=8181" mvn verify 

Esta variable de sistema de paso para la JVM pero maven se niegan a anular thi s propiedad y valor predeterminado dado a la prueba (8080). El problema original es que TeamCity (fuera del servidor de CI) pasa las variables del sistema a la JVM en MAVEN_OPTS, por lo que la anulación de propiedad no funciona.

¿Puedo anular las propiedades maven con la variable de entorno MAVEN_OPTS?

Respuesta

11

No, no puedes. Puede:

  • Uso settings.xml en el equipo local para especificar la propiedad
  • Utilice un perfil en el pom proyecto
  • Uso -D directamente en la línea de comandos.