2009-01-28 38 views
2

Je prépare un projet web maven2 pour une intégration continue. J'utilise le maven cargo plugin pour déployer automatiquement le fichier WAR sur Tomcat6x avant d'exécuter les tests d'intégration. Mon code dépend de certaines propriétés système définies avec MAVEN_OPTS=-Dfoo=bar. Malheureusement, ces propriétés sont manquantes lorsque l'application est déployée sur Tomcat:Comment transmettre les propriétés système Java au conteneur maven-cargo

System.getProperty("foo"); // null, when deployed to container by maven-cargo 

Comment puis-je transmettre ces propriétés à Tomcat?

Répondre

7

Vous devriez être en mesure de le faire en utilisant la balise SystemProperties dans la définition du conteneur du plug-in:

 <container> 
     [...] 
     <systemProperties> 
     <MAVEN_OPTS>-Dfoo=bar</MAVEN_OPTS> 
     </systemProperties> 
    </container> 

Ou vous pouvez le configurer dans un fichier setenv.sh (sous Linux) dans votre CATALINA_HOME $/bin/répertoire. Si ce fichier n'existe pas, vous devez le créer et ajouter la ligne suivante:

MAVEN_OPTS=-Dfoo=bar 

Espérons que cela vous aide.

+0

Ah, merci! J'ai essayé d'utiliser mais j'ai dû faire quelque chose de mal. Pour définir "foo = bar" XML ressemble à: [...] bar Olvagor

2

Vous devriez être en mesure de le faire en utilisant la balise SystemProperties dans la définition du conteneur du plug-in:

<container> 
    <systemProperties> 
    <foo>bar</foo> 
    </systemProperties> 
</container> 

cela équivaut à passer -Dfoo = bar dans la ligne de commande ou dans une autre option.