首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过外壳脚本运行ant时找不到build.xml文件

通过外壳脚本运行ant时找不到build.xml文件
EN

Stack Overflow用户
提问于 2011-09-22 22:14:09
回答 1查看 1.4K关注 0票数 1

我正在使用在Windows7的Cygwin上运行的bash shell。我在我的bash脚本中有这个,它试图根据当前执行的脚本…的位置来确定构建文件的位置

代码语言:javascript
复制
SCRIPT_DIR="$( cd -P "$( dirname "$0" )" && pwd )"
BUILDFILE=$SCRIPT_DIR/build.xml
ant -buildfile $BUILDFILE -Dbuildtarget=$1 -Dmodule="$2" -Dproject=$3 -Dnolabel=true -DFirefox=$4 -DInternetExplorer=$5 -DGoogleChrome=$6 Selenium4

然而,即使文件在那里,我也得到了一个"Unable to locate buildfile error“

代码语言:javascript
复制
$ sh c:/selenium//run_client_tests.sh prod "\Critical Path\Live\QX" MyProj true false false
cygwin warning:
  MS-DOS style path detected: c:/selenium//run_client_tests.sh
  Preferred POSIX equivalent is: /cygdrive/c/selenium/run_client_tests.sh
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Started script
Buildfile: \cygdrive\c\selenium\build.xml does not exist!
Build failed

ls显示文件在那里…

代码语言:javascript
复制
dev@selenium_w7 /cygdrive/c/selenium
$ ls /cygdrive/c/selenium/build.xml
/cygdrive/c/selenium/build.xml

dev@selenium_w7 /cygdrive/c/selenium
$ ls c:/selenium/build.xml
c:/selenium/build.xml
EN

回答 1

Stack Overflow用户

发布于 2011-12-05 10:51:58

这里的问题是ant不知道Cygwin风格的路径。注意,ant正在抱怨它找不到\cygdrive\c\selenium\build.xml。这是因为只有Cygwin shell才能理解/cygwin。

您需要做的是将DOS样式的路径传递给ant。所以替换掉

代码语言:javascript
复制
BUILDFILE=$SCRIPT_DIR/build.xml

使用

代码语言:javascript
复制
BUILDFILE=`cygpath -w $SCRIPT_DIR/build.xml`

或者,为了使其与平台更加无关,可以使用Java样式的路径

代码语言:javascript
复制
BUILDFILE=`cygpath -m $SCRIPT_DIR/build.xml`
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7516206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档