現在、Ubuntuのターミナルから「curl」というコマンドを使用しています。.RDFファイルをVirtuosoRDFストアにアップロードします。
curl -T FILE URL -u USER:PASSWORD
これらのプロセスを自動化して、EclipseでJava関数を作成したいと思います。このコードは機能していません。
String[] command = {"curl -T", FILENAME, URL, "-u", credentials.USERNAME+":"+credentials.PASSWORD};
Runtime.getRuntime().exec(command)
私もこれで試してみました。xtermが表示されますが、次のエラーが表示されます(ファイルが関数のパスにある場合でも)。
*"/usr/bin/xterm. Can't execvp "curl" no such a directory or file"*
Runtime.getRuntime().exec("/usr/bin/xterm -e \"curl -T " + FILENAME
+ " " + URL + "-u " + credentials.USERNAME
+ ":" + credentials.PASSWORD + "\"");
この件について何か助けていただければ幸いです。
前もって感謝します
Runtime.exec()
過去に使用してコマンドを実行するのに苦労しました。とにかく私はProcessBuilder
次のように使用するようにシフトしました:
ProcessBuilder pbuilder = new ProcessBuilder("bash", "-c", <<your command as string>>);
File err = new File("err.txt");
try {
pbuilder.redirectError(err);
Process p = pbuilder.start();
p.waitFor();
} catch (Exception e)
{
//handle exceptions if any.
}
stderr行は、デバッグの目的でオプションです。コンソールに直接印刷できると確信していますが、まだチェックしていません。私がもっと見つけたら、私の答えを更新します。
PS:また、目的のタスクを実行するために必要な権限があるかどうかを確認してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加