2015-11-30 35 views
0

我自问的第一个问题是。是否有可能在Spring Boot War文件中运行Linux命令?在spring boot war文件中运行linux命令

如果您使用此腻子它的工作原理:

/usr/local/bin/wkhtmltopdf http://www.yahoo.com /tmp/yahoo.pdf 

这就是我想在我的应用程序做: 这不创建一个PDF,我现在的输出就是不如果我运行它,因为它作为战争文件在服务器上。

我知道这在测试本地主机时适用于Windows。

@RequestMapping(value = "/testlinux", method = RequestMethod.POST) 
public void testlinux() throws IOException { 

    try { 

     ProcessBuilder pb = new ProcessBuilder("/usr/local/bin/wkhtmltopdf http://www.yahoo.com /tmp/yahoo.pdf"); 

     pb.start(); 

    } catch (Exception e) { 
     System.out.println(e); 
    } 

对此的任何想法或想法?

回答

1

我看到的第一件事情是,你必须拆分命令和参数为单独的字符串:

ProcessBuilder pb = new ProcessBuilder("/usr/local/bin/wkhtmltopdf", "http://www.yahoo.com", "/tmp/yahoo.pdf"); 
+0

大它的工作原理,它的有点辛苦,如果我不能看到调试! – Greg

+1

也许你可以使用'processBuilder.processBuilder.inheritIO()'将两个子进程的输入,输出和错误流重定向到各自的JVM。 –