ノードモジュールがグローバルにインストールされています:rollup
他のモジュールもあります。コマンドプロンプト(win 10)を開き、rollup -v
と入力すると、モジュールのバージョンが返されます。私はProcessBuilder
/Process
を使ってこれを達成しようとしています。私はjava -version
またはnode -v
それが働いていると、それをテストする場合Java ProcessBuilderを使用してグローバルにインストールされたノードモジュールを呼び出す
java.io.IOException: Cannot run program "rollup": CreateProcess error=2, The system cannot find the file specified
:
ProcessBuilder pb = new ProcessBuilder("rollup","-v");
File log = new File("log.txt");
pb.redirectErrorStream(true);
pb.redirectOutput(Redirect.appendTo(log));
Process p = pb.start();
assert pb.redirectInput() == Redirect.PIPE;
assert pb.redirectOutput().file() == log;
assert p.getInputStream().read() == -1;
それは次のエラーを返します。
は、ここに私のJavaコードです。
私は実用的な解決策を持っていますが、私はそれが気に入らず、少し面倒です。私はbatファイルを作成します。
//test.bat
rollup -v
は、それから私は、batファイルProcessBuilder pb = new ProcessBuilder("test.bat");
を実行して取り組んでいるが、将来的には、私はrollup
に他のパラメータを渡したいと私はすべてのための別のバットファイルを作成する必要はありませんパラメータ。
私は何かが不足していると私は何を知っていないと思いますか?私はAPIを処理するのが初めてです。あなたの最初の問題のために、しかし、あなたの問題を回避するための