如何设置环境变量(换句话说,System.getenv("APP_HOME")在pom文件中可以在内部访问?
APP_HOME=/path/home
Run Code Online (Sandbox Code Playgroud)
我意识到我可以设置它.profile,但想知道pom是否可以做同样的技巧.
根据下面的bmargulies的建议,我尝试了以下,没有运气
<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>
Run Code Online (Sandbox Code Playgroud)
bma*_*ies 41
有些插件,比如surefire,可以让你设置它们.一般来说,在pom中没有办法.
肯定的文件就在这里.Surefire将在测试运行期间设置环境变量,而不是其他任何东西.你必须确保火叉.
在配置中......
<configuration>
<forkMode>always</forkMode>
<environmentVariables>
<var1>val1</var1>
</environmentVariables>
</configuration>
Run Code Online (Sandbox Code Playgroud)
khm*_*ise -8
maven-surefire-plugin 的文档显示了示例并描述了如何执行设置系统属性等操作。
<configuration>
<systemPropertyVariables>
<propertyName>propertyValue</propertyName>
<buildDirectory>${project.build.directory}</buildDirectory>
[...]
</systemPropertyVariables>
</configuration>
Run Code Online (Sandbox Code Playgroud)
使用它们而不是环境变量可能会更好,因为使用它们更简单,因为需要正确设置 env 变量,并且必须重新启动 cmd.exe 和 jvm 才能让它们工作。
没有必要为测试配置包含内容,因为maven-surefire-plugin已经具有以下默认值:
<includes>
<include>**/Test*.java</include>
<include>**/*Test.java</include>
<include>**/*TestCase.java</include>
</includes>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53777 次 |
| 最近记录: |