我可以使用exec-maven-plugin为命令运行try-catch吗?

时间:2019-05-30 15:37:11

标签: maven exec-maven-plugin

我遇到的情况是,命令在不同的环境中可能具有不同的名称。在这些环境中,我无法或不允许更改命令名称。既然我知道跨环境的命令的可能名称,那么我需要能够跨所有环境运行我的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>

鉴于“命令”在不同系统上可能具有不同的已知名称,我该如何运行上述文件,而不必每次都需要在源代码上运行时更改源代码。不同的系统?

1 个答案:

答案 0 :(得分:0)

也许您将能够使用bash脚本实现所需的逻辑。 话虽如此,在不同的系统上使用不同名称的情况是一种不良做法。