2

卒業証書用のアプリケーションを開発しましたが、ある時点で Java ソース ファイルからバッチ ファイルを実行する必要があります。問題は、そのバッチ ファイルを実行しようとするたびに、「このコマンドを処理するのに十分なストレージがありません」というエラーが表示されることです。

このバッチ ファイルは、cvs logコマンドを実行するだけです。コマンドをcmdから直接実行すると、すべてうまくいきますが、このコマンドを含むバッチファイルを実行しようとすると、そのエラーが発生します:(

バッチファイルを実行するために、次の例を使用します。

// --------------
Process process = Runtime.getRuntime().exec(cmd);
process.waitFor();
// --------------

ここで、cmd は次のような文字列です: "cmd /c start \"\" absolute_path_of_batch_file".

この問題を解決する方法を知っている人はいますか? そして、このエラーは正確には何ですか?ありがとうございました!

4

1 に答える 1

1

java から実行すると、独自のプロセスでコマンドが実行されるため、コマンド ラインからコマンドを実行した場合とまったく同じになります。異なる可能性があるのは、バッチ ファイルを実行しているディレクトリ (または環境変数) です。バッチ ファイルに相対パスはありますか?

それ以外の場合は、その文字列に対して asysoutを実行し、ターミナルでcmdその文字列を正確に実行して、機能するかどうかを確認します。cmdまた、正確なエラーを投稿してください。

于 2012-05-05T14:04:55.453 に答える