123 votes

Variable d'environnement avec Maven

J'ai porté un projet d'Eclipse à Maven et je dois définir une variable d'environnement pour que mon projet fonctionne.

Dans Eclipse, je vais dans "Run -> Run configurations" et, sous l'onglet "environment", je mets "WSNSHELL_HOME" à la valeur "conf".

Comment puis-je faire cela avec Maven ?

5voto

René Points 545

Une autre solution serait de définir MAVEN_OPTS (ou d'autres variables d'environnement) dans ${user.home}/.mavenrc (ou %HOME%\mavenrc_pre.bat sur Windows).

Depuis Maven 3.3.1 il y a nouvelles possibilités de définir les paramètres de la ligne de commande mvn si c'est ce que vous voulez vraiment :

  • ${maven.projectBasedir}/.mvn/maven.config
  • ${maven.projectBasedir}/.mvn/jvm.config

4voto

Christian Points 237

Il existe un plugin maven appelé propriétés-maven-plugin celui-ci fournit un objectif set-system-properties pour définir les variables du système. Ceci est particulièrement utile si vous disposez d'un fichier contenant toutes ces propriétés. Ainsi, vous êtes en mesure de lire un fichier de propriétés et de les définir comme variables système.

1voto

Davis Benny Points 11

Vous pouvez passer certains des arguments à travers le _JAVA_OPTIONS variable.

Par exemple, définissez une variable pour les drapeaux de proxy maven comme ceci :

_JAVA_OPTIONS="-Dhttp.proxyHost=$http_proxy_host -Dhttp.proxyPort=$http_proxy_port -Dhttps.proxyHost=$https_proxy_host -Dhttps.proxyPort=$http_proxy_port"

Et ensuite utiliser mvn clean install (il reprendra automatiquement _JAVA_OPTIONS ).

0voto

Hassek Points 3136

Je suggère d'utiliser le formidable outil direnv . Avec lui, vous pouvez injecter des variables d'environnement dès que vous vous connectez au projet. Ces étapes ont fonctionné pour moi :

fichier .envrc

source_up
dotenv

fichier .env

_JAVA_OPTIONS="-DYourEnvHere=123"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X