我遇到的情况是,命令在不同的环境中可能具有不同的名称。在这些环境中,我无法或不允许更改命令名称。既然我知道跨环境的命令的可能名称,那么我需要能够跨所有环境运行我的maven命令,而不必每次在不同系统上运行时都更改源代码。
假设我的pom.xml中包含以下内容,其中“命令”为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>
鉴于“命令”在不同系统上可能具有不同的已知名称,我该如何运行上述文件,而不必每次都需要在源代码上运行时更改源代码。不同的系统?
答案 0 :(得分:0)
也许您将能够使用bash脚本实现所需的逻辑。 话虽如此,在不同的系统上使用不同名称的情况是一种不良做法。