10

我正在寻找一种将环境变量传递到货物集装箱的方法。像这样的东西:

<plugin>
  <groupId>org.codehaus.cargo>
  <artifactId>cargo-maven2-plugin</artifactId>
  <configuration>
    <environmentVariables>
      <myCustomVariable>value</myCustomVariable>
      ...
4

1 回答 1

5

AFAIK,货物只允许传递系统属性,如传递系统属性Maven 提示中所述,如下例所示:-

<container>
  [...]
  <systemProperties>
    <myproperty>myvalue</myproperty>
  </systemProperties>
</container>

解决方法可能是将系统属性链接到环境变量,如下例所示:-

<container>
  [...]
  <systemProperties>
    <myproperty>${env.MY_ENV_VAR}</myproperty>
  </systemProperties>
</container>

通常我们只能通过操作系统的方式来设置环境变量。无论如何,还有一种解决方法可以通过使用 Java 来设置它,如如何从 Java 设置环境变量?.

我总是在单元测试期间使用这个技巧来设置环境变量,方法是将它们放入 JUnit 测试套件中,@BeforeClass并将它们设置为空字符串@AfterClass

请注意,正式的 Java 教程还提到了环境变量和将环境变量传递给新进程

我希望这可能会有所帮助。

于 2013-03-19T03:00:09.277 回答