2016-06-01 5 views
0

"ant -v debug"というbashスクリプトがあります。ターミナルのコマンドラインプロンプトから問題なくこれをすべて実行できます。他のプログラム(Mac OSX)からのBashスクリプトによるAntの呼び出し

このスクリプトをIDE(CodeLite)経由で実行しようとしていますが、このように実行すると環境変数やその他の設定が不足しているようです。

Antがで応答:私は、コマンドプロンプトで「ENV」を走っていると私は、任意のJavaまたは「クラスパスの環境変数を参照することはできません

#!/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 

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

私のスクリプトは次のようになりますまあ、私は何が欠けているか分からない。スクリプトには必ずクラスパス環境変数が欠けているはずですか?

何が欠けていますか? ANTが正常に動作するようにスクリプトの環境を設定するにはどうすればよいですか?

UPDATE:私はCodeLite または、コマンドラインから実行する場合はここで--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 

含むからの出力はまた、以下の環境変数はすべて、私は私のスクリプトに設定することをANT_HOMEを除いて(空白にされます)????

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

CLASSPATHが空白の場合、javaがどのようなクラスを見つける可能性がありますか?

+0

実行時の出力は? 'ant -v debug --execdebug' –

+0

完全パスでANTを実行した場合はどうなりますか?試してみる...私はこれについての感情を持っています:) – ivoruJavaBoy

+0

@ivoruJavaBoy同じ結果私は恐れています。 – SparkyNZ

答えて

0

「which」コマンドのおかげで、antの正しいパスが「/ usr/local/bin/ant」であることがわかりました。私はCodeLiteから呼び出されたスクリプト内からそのパスを使用してAntに呼び出すことができます。

関連する問題