将自定义环境变量传递给maven货物

her*_*ung 8 java environment-variables maven-cargo maven

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

<plugin>
  <groupId>org.codehaus.cargo>
  <artifactId>cargo-maven2-plugin</artifactId>
  <configuration>
    <environmentVariables>
      <myCustomVariable>value</myCustomVariable>
      ...
Run Code Online (Sandbox Code Playgroud)

Cha*_*suk 5

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

<container>
  [...]
  <systemProperties>
    <myproperty>myvalue</myproperty>
  </systemProperties>
</container>
Run Code Online (Sandbox Code Playgroud)

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

<container>
  [...]
  <systemProperties>
    <myproperty>${env.MY_ENV_VAR}</myproperty>
  </systemProperties>
</container>
Run Code Online (Sandbox Code Playgroud)

通常我们只能使用OS方式设置环境变量.无论如何还有一个解决方法,通过使用Java来设置它,如何在Java中设置环境变量?.

我总是使用这个技巧在单元测试期间通过将它们放到JUnit测试套件中来设置环境变量,并将它们@BeforeClass设置为空的String @AfterClass.

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

我希望这可能有所帮助.