Ant创建进程错误cygwin

时间:2011-08-31 10:06:43

标签: java bash ant cygwin

我正在尝试运行一个简单的ant构建,它有一个在cygwin中运行bash shell脚本的目标。当我运行构建时,目标似乎运行但可执行文件没有。相反,我得到一个Java IO异常:创建过程错误= 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>

我的shell脚本......

#!/bin/sh

echo "testing !!!"

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

2 个答案:

答案 0 :(得分:0)

您是否尝试过运行等效的:

sh test.sh

? (即将可执行文件指定为sh并附带相关参数)。

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

答案 1 :(得分:0)

在敲打我的头后,我发现了造成这个问题的原因。看起来QTP的安装改变了我的一些环境变量,在我重置它们之后似乎工作得很好!不管怎么说,还是要谢谢你!