环境变量与Maven [英] Environment Variable with Maven
问题描述
在Eclipse中,我去运行 - >运行配置,在环境选项卡下,将WSNSHELL_HOME设置为值conf。
如何使用Maven? / p>
非常感谢!
命令行作为
mvn -DmyVariable = someValue install
[更新] 请注意,参数的顺序很重要 - 您需要在之前指定任何选项 s)。
在POM文件中,您可以参考系统变量(在命令行中指定或在pom)作为 $ {myVariable}
,环境变量为 $ {env.myVariable}
。
Update2
你想将你的系统变量传递给你的测试。如果我假设 - 你使用 Surefire插件进行测试,最好的是在您的插件
部分中指定pom内所需的系统变量,例如
<建立>
< plugins>
...
< plugin>
< groupId> org.apache.maven.plugins< / groupId>
< artifactId> maven-surefire-plugin< / artifactId>
...
< configuration>
...
< systemPropertyVariables>
< WSNSHELL_HOME> conf< / WSNSHELL_HOME>
< / systemPropertyVariables>
< / configuration>
< / plugin>
...
< / plugins>
< / build>
I've ported a project from Eclipse to Maven and I need to set an environment variable to make my project work.
In Eclipse, I go to "Run -> Run configurations" and, under the tab "environment", I set "WSNSHELL_HOME" to the value "conf".
How can I do this with Maven?
Thank you very much!
You can just pass it on the command line, as
mvn -DmyVariable=someValue install
[Update] Note that the order of parameters is significant - you need to specify any options before the command(s).[/Update]
Within the POM file, you may refer to system variables (specified on the command line, or in the pom) as ${myVariable}
, and environment variables as ${env.myVariable}
. (Thanks to commenters for the correction.)
Update2
OK, so you want to pass your system variable to your tests. If - as I assume - you use the Surefire plugin for testing, the best is to specify the needed system variable(s) within the pom, in your plugins
section, e.g.
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
...
<configuration>
...
<systemPropertyVariables>
<WSNSHELL_HOME>conf</WSNSHELL_HOME>
</systemPropertyVariables>
</configuration>
</plugin>
...
</plugins>
</build>
这篇关于环境变量与Maven的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!