Могу ли я запустить try-catch для команды с помощью exec-maven-plugin? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть ситуация, когда команда может иметь разные имена в разных средах. В этих средах я не могу или не могу изменить название команды. Учитывая, что я знаю возможные имена команд в разных средах, мне нужно иметь возможность запускать мою команду 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>

Как запустить приведенный выше файл, учитывая, что «команда» может находиться под разными известными именами в разных системах, без необходимости переходить на исходный код каждый раз, когда необходимо запустить на другом система

1 Ответ

0 голосов
/ 30 мая 2019

Возможно, вы сможете добиться желаемой логики, используя скрипт bash.Сказав это, ситуация с разными именами в разных системах является плохой практикой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...