我想打電話給使用如何在部署環境中調用批處理文件?
ProcessBuilder pb = new ProcessBuilder("D:/doctemp/convert.bat");
Process p = pb.start();
當我使用NetBeans運行的應用程序,它工作正常,從Java Web應用程序的批處理文件。但是當我在tomcat批處理文件中部署我的應用程序不會調用。 任何人都可以提出什麼問題是?
我想打電話給使用如何在部署環境中調用批處理文件?
ProcessBuilder pb = new ProcessBuilder("D:/doctemp/convert.bat");
Process p = pb.start();
當我使用NetBeans運行的應用程序,它工作正常,從Java Web應用程序的批處理文件。但是當我在tomcat批處理文件中部署我的應用程序不會調用。 任何人都可以提出什麼問題是?
也許你遇到了一些權限問題。
在Tomcat上部署時,您是否將這個批處理文件包含在.war文件中,或者必須使用所提供的路徑?
程序必須使用提供的路徑。 – Dipesh 2012-08-08 13:25:26
我終於解決了。通過使用下面的代碼。
File dir = new File("D:\\Vers\\doctemp");
Runtime.getRuntime().exec("c:\\windows\\system32\\cmd.exe /c convert.bat", envs, dir);
您需要發送cmd.exe的完整路徑才能被tomcat識別。爲了支持字體,你需要發送環境變量。
您是否嘗試過新的ProcessBuilder(「CMD.EXE/C D:/doctemp/convert.bat」);? – msell 2012-08-08 12:26:27
您需要提供批次的相對路徑。 – NPKR 2012-08-08 12:28:14
即使從netbeans也無法正常工作。 – Dipesh 2012-08-08 12:59:00