Java Ant创建进程错误cygwin

Java Ant创建进程错误cygwin,java,bash,ant,cygwin,Java,Bash,Ant,Cygwin,我正在尝试运行一个简单的ant构建,其中有一个目标在cygwin中运行bash shell脚本。当我运行构建时,目标似乎在运行,但可执行文件却没有。相反,我得到了一个JavaIO异常:createprocesserror=193。如果我独立运行脚本,它可以正常工作。在我使用test.sh的那一刻,它只有一个命令,将一条消息回显到屏幕上 我知道从cygwin运行脚本可能不是最好的做法,但是在这个短期解决方案工作之后,我想将脚本功能集成到ant构建中 我的XML如下所示 <?xml versi

我正在尝试运行一个简单的ant构建,其中有一个目标在cygwin中运行bash shell脚本。当我运行构建时,目标似乎在运行,但可执行文件却没有。相反,我得到了一个JavaIO异常:createprocesserror=193。如果我独立运行脚本,它可以正常工作。在我使用test.sh的那一刻,它只有一个命令,将一条消息回显到屏幕上

我知道从cygwin运行脚本可能不是最好的做法,但是在这个短期解决方案工作之后,我想将脚本功能集成到ant构建中

我的XML如下所示

<?xml version="1.0"?>

<project name="TestProject" default="exec_build_config" basedir=".">
<property name="test" location="test.sh"/>
<target name="exec_build_config" >
                <exec executable="${test}">
                </exec>
        </target>
</project>

它就是不起作用:(任何帮助都将不胜感激!谢谢

您是否尝试过运行以下等效程序:

sh test.sh
?(即,使用相关参数将可执行文件指定为
sh


执行上述操作将告诉Ant使用测试shell脚本的参数执行
sh
。我怀疑Java程序产卵器机制不会遵守
#!
语法,因为它是特定于Unix的。

在猛击我的头之后,我发现了导致问题的原因。看起来QTP的安装已经改变了我的一些环境变量,在我重置这些变量之后,它似乎工作得很好!无论如何,谢谢!

给它一个可执行文件的完整路径,比如c:/some/path/sh.exe test.sh,怎么样?
sh test.sh