首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mvn pom中设置环境变量?

问如何在mvn pom中设置环境变量?
EN

Stack Overflow用户
提问于 2012-12-25 09:31:19
回答 2查看 70.5K关注 0票数 29

如何设置环境变量(换句话说,在pom文件中可由System.getenv("APP_HOME")内部访问?

代码语言:javascript
复制
APP_HOME=/path/home

我知道我可以在.profile中设置它,但是不知道pom是否可以做同样的事情。

根据bmargulies下面的建议,我尝试了以下方法,但没有成功

代码语言:javascript
复制
<build>
    <finalName>KvpStore</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12.4</version>
            <configuration>
                <includes>
                    <include>**/*Test*.java</include>
                </includes>
                <environmentVariables>
                    <APP_NAME>blah_blah</APP_NAME>  <------------------------
                </environmentVariables>
            </configuration>
        </plugin>
    </plugins>
</build>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-25 17:30:27

documentation of the maven-surefire-plugin展示了一些示例,并描述了如何设置系统属性。

代码语言:javascript
复制
<configuration>
  <systemPropertyVariables>
    <propertyName>propertyValue</propertyName>
    <buildDirectory>${project.build.directory}</buildDirectory>
    [...]
  </systemPropertyVariables>
</configuration>

使用它们而不是环境变量可能更好,因为使用它们更简单,因为环境变量需要正确设置,并且必须重新启动cmd.exe和jvm才能使它们工作。

不需要为测试配置includes,因为maven-surefire-plugin已经有了以下默认值:

代码语言:javascript
复制
<includes>
 <include>**/Test*.java</include>
 <include>**/*Test.java</include>
 <include>**/*TestCase.java</include>
</includes>
票数 -7
EN

Stack Overflow用户

发布于 2012-12-25 10:11:03

有些插件,比如surefire,可以让你设置它们。一般来说,在pom里是不可能的。

surefire的文档是here。Surefire将在测试运行期间设置环境变量,而不是设置其他任何环境变量。你还得做个万无一失的叉子。

在配置中...

代码语言:javascript
复制
<configuration>
  <forkMode>always</forkMode>
  <environmentVariables>
     <var1>val1</var1>
  </environmentVariables>
</configuration>
票数 53
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14027003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档