0
我想在jsp应用程序中执行一个终端命令(包括一个jar文件)。 当我在终端中执行它时,该命令正常工作。但是当我在java中使用它时,我得到了一个特定于我试图执行的程序的错误,这意味着我可以访问该文件夹,运行它,但出现语法错误或者我错过了某些东西。终端命令不能在java中工作
Process p = Runtime.getRuntime().exec("java -jar /AbsoluteFilePath/rdfslice_1.42.jar"+
" -source /AbsoluteFilePath/test.nt"+
" -patterns \"{?s ?p ?o}\" -out /AbsoluteFilePath/output.out" +
" -order \"S\" -debug -debugGraphSize 1024");
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
StringBuilder builder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
builder.append(line);
builder.append(System.getProperty("line.separator"));
}
String result = builder.toString();
System.out.println(result);
我也尝试过程构建器,但没有产生任何不同的结果。 代码我试过的过程建造者是:
List<String> list = Arrays.asList(
"java",
"-jar",
"/AbsoluteFilePath/rdfslice_1.42.jar",
"-source",
"/AbsoluteFilePath/test.nt",
"-pattern", "'{?s ?p ?o}'", "-out",
"/AbsoluteFilePath/output.out",
"-order", "'S'");
// create the process builder
ProcessBuilder pb = new ProcessBuilder(list);
Process p = pb.start();
任何帮助将不胜感激。 Regards
您可以显示您收到的错误吗? – user3062946 2015-01-15 16:35:23
使用“java”的绝对路径? - 我仍然希望看到那个错误消息和可用的shell命令。 – laune 2015-01-15 16:35:28
直接从终端: java -jar /AbsolutePath/rdfslice_1.42.jar -source /AbsolutePath/rdfslice/test.nt -patterns“{?s?p?o}”-out /AbsolutePath/rdfslice/eclipse.out - 订单“S” – emrahozkan 2015-01-15 16:45:30