を取得するまで、私は今、JavaのこのようなJavaプログラムを実行しています待つ:待って、私はLinuxのシェルスクリプトでTest.execute()メソッドを実行したいはシェルでJavaを実行し、私はリターンコード
package com.test;
public class Test {
public static void main(String[] args){
execute();
}
public static String execute(){
try {
Thread.sleep(20000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "a";
}
}
をメソッドが戻り、戻りコードを取得するまでmain()メソッドの返り値は無効なので、どうすれば返り値を返すか、返すことができますか?
提案がありますか?
私は解決策を見つける:
package com.test;
public class Test {
public static void main(String[] args){
execute();
}
public static String execute(){
try {
System.out.println("sleeping");;
Thread.sleep(5000);
Runtime.getRuntime().exit(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "a";
}
}
そして、私のシェル:
#!/bin/bash
java -cp test.jar com.test.Test
echo "The return code of the java application is $?"
私はRuntime.getRuntime().exit(n)
である値nを取得することができます。
あなたはどこにいるのですか? – shmosel
「返品コード」とは何ですか?上記を設定していません。 –
どのようなシェルですか? bash? Windowsのcmd? –