次の方法を使用してSystem.inから読み取るアプリケーションを作成しました。
Scanner input = new Scanner(System.in);
while (input.hasNextLine()) {
String line = input.nextLine();
}
入力データはlinuxコマンドで渡されています:
cat -A /home/someuser/somefile.txt | java -classpath "$CLASSPATH" com.test.Main
crontabエントリは次のようになります。
MAILTO=someuser
CLASSPATH="/home/someuser/test.jar:/usr/share/java/jdom.jar:/usr/share/java/mysql-connector-java.jar"
0,10,20,30,40,50 * * * * cat -A /home/someuser/somefile.txt | java -classpath "$CLASSPATH" com.test.Main >/home/someuser/output.txt
ファイルの権限は次のとおりです。
-rw-r--r-- 1 someuser serhiy 8385601 2011-02-07 10:57 /home/someuser/somefile.txt
私のマシン(Ubuntu 9)ではすべて正常に動作していますが、別のマシンUbuntu 8にインストールした後、プログラムが起動することがわかりましたが、何も読み取っていないようです。すべての構成とすべてのアクセス許可をトリプルチェックしましたが、結果は同じです。コマンドを手動で実行するとすべてが機能しますが、crontabで実行すると、入力を読み取っていないようです。誰かが以前にこの問題を経験しましたか?
Serhiyの助けに感謝します。