web-dev-qa-db-ja.com

Maven POMで環境変数を設定する方法は?

環境変数を設定するにはどうすればよいですか(つまり、pomファイルのSystem.getenv("APP_HOME")によって内部的にアクセスできますか?

APP_HOME=/path/home

私は.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>
23
JAM

Surefireなどの一部のプラグインでは、それらを設定できます。一般的に、pomには方法がありません。

Surefireのドキュメントは here です。 Surefireは、テストの実行中に環境変数を設定しますが、他の環境には設定しません。そして、あなたは確実なフォークを作らなければなりません。

構成では...

<configuration>
  <forkMode>always</forkMode>
  <environmentVariables>
     <var1>val1</var1>
  </environmentVariables>
</configuration>
39
bmargulies