Question

J'ai très simple descripteur Maven qui a défini certaines propriétés:

<?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>

Je peux passer outre la propriété de it.port avec la commande:

$ mvn -Dit.port=8181 verify

Mais commande suivante ne fonctionne pas comme prévu:

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

Cette variable système passe à la machine virtuelle Java Repousse Maven pour remplacer cette propriété et la valeur par défaut donnée à tester (8080). problème d'origine est que TeamCity (sur serveur CI) variables système passe à la machine virtuelle Java en MAVEN_OPTS, si la propriété remplaçant ne fonctionne pas.

Puis-je supplantent les propriétés Maven avec la variable d'environnement MAVEN_OPTS?

Était-ce utile?

La solution

Non, vous ne pouvez pas. Vous pouvez:

  • Utilisez settings.xml sur votre machine locale pour spécifier la propriété
  • Utilisez un profil dans le pom projet
  • Utiliser -D directement sur la ligne de commande.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top