0

我遵循如何为 Maven 设置环境变量以正确运行测试?并像这样配置我的pom:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-surefire-plugin</artifactId>
   <version>2.15</version>
   <configuration>
       <systemPropertyVariables>
           <SENDGRID_USERNAME>username</SENDGRID_USERNAME>
           <SENDGRID_PASSWORD>password</SENDGRID_PASSWORD>
       </systemPropertyVariables>
   </configuration>
</plugin>

当我运行mvn test命令时,它给出以下错误,

Error in custom provider, java.lang.IllegalStateException: SENDGRID_PASSWORD env variable must be set.

我究竟做错了什么 ?

当我进行研究以找到答案时,我发现了以下内容:ProcessBuilder可以用于 set env 用于生成的进程。我不知道 ProcessBuilder 是否对我有帮助,因为我没有产生任何进程。我的项目是 maven 项目,我使用 mvn test 命令运行测试。

任何人都可以向我解释如何为这种情况设置 env (即 maven + junit )

我可以设置,properties但问题是如何设置environment variable,因为我的程序需要 env 变量。

4

1 回答 1

2

如果我正确阅读了文档,则要使用的配置是:

 <environmentVariables>
       <SENDGRID_USERNAME>username</SENDGRID_USERNAME>
       <SENDGRID_PASSWORD>password</SENDGRID_PASSWORD>
 </environmentVariables>

这可能是问题吗?

来源:http ://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#environmentVariables

于 2014-01-17T14:45:52.007 回答