30

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

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>
4

2 に答える 2

54

surefireのようないくつかのプラグインでは、それらを設定できます。一般的に、pomには方法がありません。

surefireのドキュメントはこちらです。Surefireは、テストの実行中は環境変数を設定しますが、それ以外の場合は設定しません。そして、あなたは確実なフォークを確認する必要があります。

構成で..。

<configuration>
  <forkMode>always</forkMode>
  <environmentVariables>
     <var1>val1</var1>
  </environmentVariables>
</configuration>
于 2012-12-25T02:11:03.360 に答える
-7

maven-surefire-pluginのドキュメントには例が示され、システムプロパティを設定する方法が説明されています。

<configuration>
  <systemPropertyVariables>
    <propertyName>propertyValue</propertyName>
    <buildDirectory>${project.build.directory}</buildDirectory>
    [...]
  </systemPropertyVariables>
</configuration>

環境変数の代わりにそれらを使用する方が良いかもしれません。それらを使用する方が簡単であり、env変数を正しくセットアップする必要があり、それらを機能させるにはcmd.exeとjvmを再起動する必要があります。

テストのインクルードを構成する必要はありません。maven-surefire-pluginにはすでに次のデフォルトがあります。

<includes>
 <include>**/Test*.java</include>
 <include>**/*Test.java</include>
 <include>**/*TestCase.java</include>
</includes>
于 2012-12-25T09:30:26.850 に答える