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

时间:2016-06-01 10:33:39

标签: bash macos ant android-ndk

我有一个调用" ant -v debug"的bash脚本。我可以从终端命令行提示中完成所有这些而没有任何问题。

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

Ant响应:

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

我跑了&en;'在命令提示符下,我看不到任何Java或类路径'环境变量,所以我不知道缺少什么。该脚本肯定缺少一些类路径环境变量吗?

缺少什么?如何配置脚本环境以便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如何找到任何类?

1 个答案:

答案 0 :(得分:0)

感谢''命令,我发现ant的正确路径是' / usr / local / bin / ant'。我现在使用来自CodeLite调用的脚本中的那条路径调用ant,它可以工作!