繁体   English   中英

通过Bash脚本从其他程序(Mac OSX)调用Ant

[英]Calling Ant via Bash Script from Other Program (Mac OSX)

我有一个bash脚本,称为“ ant -v debug”。 我可以从终端命令行提示符下完成所有这些操作,而不会出现任何问题。

我试图通过IDE(CodeLite)运行此脚本,但是以这种方式运行它时似乎缺少一些环境变量或其他设置。

蚂蚁回应:

Error: Could not find or load main class org.apache.tools.ant.launch.Launcher

我的脚本如下所示:

#!/bin/bash
set -e
export ANDROID_SDK=/Android/sdk
export ANDROID_NDK=/Android/android-ndk-r9d
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$ANDROID_NDK:/work/bin
export ANT_HOME=/opt/ant

cd /work/TT/android-TT
ant -v debug
echo
echo Complete

我已经在命令提示符处运行了“ env”,而且根本看不到任何Java或“ classpath”环境变量,因此我不知道缺少什么。 脚本一定一定缺少某些类路径环境变量吗?

什么东西少了? 如何配置脚本的环境,以使ANT成功运行?

更新:这是包含--execdebug的输出

exec "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="$ANT_HOME" -Dant.library.dir="$ANT_LIB" org.apache.tools.ant.launch.Launcher -cp "$CLASSPATH" "-v" "debug"
Error: Could not find or load main class org.apache.tools.ant.launch.Launcher

另外,如果我从CodeLite 命令行运行,则以下环境变量都为空(我在脚本中设置的ANT_HOME除外)?

CLASSPATH=
LOCALCLASSPATH=
ANT_LIB=
ANT_HOME=/opt/ant

如果CLASSPATH为空,java如何找到任何类?

多亏了“哪个”命令,我发现ant的正确路径是“ / usr / local / bin / ant”。 现在,我从CodeLite调用的脚本中使用该路径调用ant,并且可以正常工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM