Выполнить 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