1

我在 pom.xml 中从 ant 运行 thrift 时遇到了一些问题。所以我有这样的事情:

<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 上,我可以手动执行它而不会出现任何问题。我在 Eclipse Juno 和 Maven 插件中使用 OS X 10.7.5 在 Max 上运行它。将不胜感激任何帮助。谢谢。

4

1 回答 1

1

thrift未找到,因为它不在$PATH您运行的环境中。

由于您在 Eclipse 中运行,因此要$PATH考虑的是也已设置为 Eclipse 本身的那个。Eclipse 通常从桌面图标启动,然后是“桌面”的环境,系统已启动桌面,而不是您可能更改默认设置的 bash 提示$PATH

然后有几种解决方案:

  • 使用thrift工具的绝对路径
  • 我不知道 Eclipse 中的 Maven 启动器,但也许你可以在PATH那里更改环境变量
  • 从 /usr/bin 创建一个符号链接:

    sudo ln -s /the/full/path/of/thrift /usr/bin/thrift
    
于 2013-06-12T19:19:05.930 回答