0

我正在通过命令行界面命令启动 Fuseki 服务器。跟随方式;

    ![My CMD working code]

在此处输入图像描述

    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(未知来源)“

在此处输入图像描述

4

2 回答 2

0

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

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

于 2014-11-19T08:49:52.123 回答
0

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

于 2014-11-19T11:16:36.180 回答