Выполнить Thrift из муравья в pom.xml

У меня есть некоторые проблемы с управлением из муравья внутри pom.xml. Итак, у меня есть что-то вроде этого:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <tasks>
                    <exec executable="thrift">
                        <arg value="--help" />
                    </exec>
                </tasks>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>

И все, что я получаю, это

An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "thrift": error=2, No such file or directory

Если я попробую другие команды, такие как sh или ls, все будет работать нормально. В чем проблема с экономией? Это на моем $PATH, и я могу выполнить его вручную без каких-либо проблем. Я запускаю это на Max с OS X 10.7.5 в затмении Juno и плагине Maven. Был бы признателен за любую помощь. Благодарю.

1 ответ

Решение

thrift не найден, потому что его нет в $PATH в среде, в которой вы работаете.

Поскольку вы работаете в Eclipse, $PATH принимается во внимание тот, который также был установлен для самого Eclipse. Eclipse, как правило, запускается из значка рабочего стола, тогда это среда рабочего стола, рабочий стол, который был запущен системой, а не приглашение bash, где вы могли изменить значение по умолчанию. $PATH

Несколько решений тогда:

  • использовать абсолютный путь к thrift инструмент
  • Я не знаю, запускает Maven в Eclipse, но, возможно, вы можете изменить PATH переменная среды там
  • сделать символическую ссылку из / usr / bin:

    sudo ln -s /the/full/path/of/thrift /usr/bin/thrift
    
Другие вопросы по тегам