2015-11-30 68 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。 –