[英]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.