4

私はmavenにかなり慣れていません。単体テストを実行するためのプロファイルを定義する pom.xml をセットアップしました。Path 環境変数を設定しようとしています。env 変数名は、Windows では Path、Linux では LD_LIBRARY_PATH です。これらの環境を変更し続けたくありません。OS に依存する変数名。どうすればこれを達成できますか?

<profile>
        <id>integration-tests</id>
        <build>
         <plugins>
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-surefire-plugin</artifactId>
                <version>${tychoVersion}</version>
                <configuration combine.self="override">
                    <argLine>${tycho.testArgLine} ${global.test.vmargs} ${bundle.test.vmargs}</argLine>
                    <forkMode>${bundle.test.forkMode}</forkMode>
                    <useUIHarness>${bundle.test.useUIHarness}</useUIHarness>
                    <useUIThread>${bundle.test.useUIThread}</useUIThread>
                    <environmentVariables>
                      <!--For windows change LD_LIBRARY_PATH to PATH-->
                        <LD_LIBRARY_PATH>${dependenciesDir}${path.separator}{env.LD_LIBRARY_PATH}</LD_LIBRARY_PATH>

                    </environmentVariables>
                </configuration>
            </plugin>
        </plugins>
        </build>

    </profile>
4

1 に答える 1

5

ここでは、プロファイルのアクティブ化が役立つ場合があります。<environmentVariables>統合テスト プロファイルから構成を削除します。次に、以下のプロファイルを追加し<activation>、特定の要件を満たすようにセクションを微調整します。コマンド ラインでこれらのプロファイルを明示的に有効にする必要はありません。Maven は、ビルドを実行しているシステムに基づいて適切なプロファイルをアクティブにします。

<profile>
  <id>windows-tests</id>
  <activation>
      <os>
        <family>Windows</family>
      </os>
  </activation>
  <build>
     <plugins>
        <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-surefire-plugin</artifactId>
            <version>${tychoVersion}</version>
            <configuration>
                <environmentVariables>
                    <PATH>${dependenciesDir}${path.separator}{env.PATH}</PATH>
                </environmentVariables>
            </configuration>
        </plugin>
    </plugins>
    </build>
</profile>
<profile>
  <id>linux-tests</id>
  <activation>
      <os>
        <family>Linux</family>
      </os>
  </activation>
  <build>
     <plugins>
        <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-surefire-plugin</artifactId>
            <version>${tychoVersion}</version>
            <configuration>
                <environmentVariables>
                    <LD_LIBRARY_PATH>${dependenciesDir}${path.separator}{env.LD_LIBRARY_PATH}</LD_LIBRARY_PATH>

                </environmentVariables>
            </configuration>
        </plugin>
    </plugins>
    </build>
</profile>
于 2013-10-16T20:54:08.820 に答える