如何通过java类运行以下COMMAND代码?

时间:2014-11-19 04:59:10

标签: java cmd fuseki

我通过cmd line interface命令启动Fuseki服务器。以下方式;

    ![My CMD working code]

enter image description here

    D:
    cd jena-fuseki-1.0.1
    fuseki-server --update --mem /ds

如何在不打开任何CMD线路接口的情况下通过java类运行上面的代码? 如此多的stackoverflow答案提供了以下代码。

     Process child = Runtime.getRuntime().exec(command);

但是我没有得到应该如何应用我的上述事情。

更新了问题;

公共课测试{

public static void main(String[] args) {
    // TODO Auto-generated method stub

    String[] command = { "fuseki-server", "--update", "--mem", "/ds" };
    File directory = new File("D:\\jena-fuseki-1.0.1");
    ProcessBuilder pb = new ProcessBuilder(command);
    pb.directory(directory);

    try {
        pb.start();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}  错误信息 : “java.io.IOException:无法运行程序”fuseki-server“(在目录”D:\ jena-fuseki-1.0.1“中):CreateProcess error = 2,系统找不到指定的文件     在java.lang.ProcessBuilder.start(未知来源)“

enter image description here

2 个答案:

答案 0 :(得分:0)

您需要将扩展​​名(.exe.bat,...)放到fuseki-server命令文件中(shell会为您执行此操作,但此处您将提供文件名)。< / p>

您还需要使用pb.start()来实际启动该过程。

答案 1 :(得分:0)

Fuseki是一个java servlet webapp。见https://github.com/apache/jena/tree/master/jena-fuseki2/src/main/webapp。您可以将.war文件放入tomcat或jetty或其他任何东西,您不需要使用任何特殊的启动器。