У меня есть ситуация, когда команда может иметь разные имена в разных средах. В этих средах я не могу или не могу изменить название команды. Учитывая, что я знаю возможные имена команд в разных средах, мне нужно иметь возможность запускать мою команду maven для всех них без изменения исходного кода каждый раз, когда она запускается в другой системе.
Скажите, что в моем файле pom.xml есть следующее, где "command" это либо cmake
, либо ${env.CMAKE_V_HOME}/cmake
:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<id>cmake-generate</id>
<phase>process-resources</phase>
<goals><goal>exec</goal></goals>
<configuration>
<executable>command</executable> <!--Here-->
<workingDirectory>${project.build.directory}/native</workingDirectory>
<arguments><argument>${project.basedir}/mylib/</argument></arguments>
<skip>${skipCMake}</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Как запустить приведенный выше файл, учитывая, что «команда» может находиться под разными известными именами в разных системах, без необходимости переходить на исходный код каждый раз, когда необходимо запустить на другом система