我对maven来说相当陌生。 我已经安装了一个pom.xml,它定义了运行我的unit testing的configuration文件。 我正在尝试设置Path环境variables。 envvariables名称是Windows的Path和Linux的LD_LIBRARY_PATH。 我不想继续改变这些环境。 variables名称取决于操作系统。 我应该如何做到这一点?
<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>
配置文件激活可能有帮助。 从集成测试配置文件中删除<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>