我通过cmd line interface命令启动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(未知来源)“
答案 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或其他任何东西,您不需要使用任何特殊的启动器。