2012-08-08 36 views
1

我想打電話給使用如何在部署環境中調用批處理文件?

ProcessBuilder pb = new ProcessBuilder("D:/doctemp/convert.bat"); 
    Process p = pb.start(); 

當我使用NetBeans運行的應用程序,它工作正常,從Java Web應用程序的批處理文件。但是當我在tomcat批處理文件中部署我的應用程序不會調用。 任何人都可以提出什麼問題是?

+1

您是否嘗試過新的ProcessBuilder(「CMD.EXE/C D:/doctemp/convert.bat」);? – msell 2012-08-08 12:26:27

+0

您需要提供批次的相對路徑。 – NPKR 2012-08-08 12:28:14

+0

即使從netbeans也無法正常工作。 – Dipesh 2012-08-08 12:59:00

回答

0

也許你遇到了一些權限問題。

在Tomcat上部署時,您是否將這個批處理文件包含在.war文件中,或者必須使用所提供的路徑?

+0

程序必須使用提供的路徑。 – Dipesh 2012-08-08 13:25:26

0

我終於解決了。通過使用下面的代碼。

File dir = new File("D:\\Vers\\doctemp"); 
Runtime.getRuntime().exec("c:\\windows\\system32\\cmd.exe /c convert.bat", envs, dir); 

您需要發送cmd.exe的完整路徑才能被tomcat識別。爲了支持字體​​,你需要發送環境變量。

相關問題