Никакого вывода при выполнении .bat файлы через Java во время выполнения, развернутых на сервере
Я пытался конвертировать файл DOCX в PDF-файл, нашел этот код скрипта vb, который отлично преобразует DOCX в PDF-файл, он использует файл .bat для генерации файлов. Код может быть выполнен через java.
Я столкнулся со странной проблемой: когда я выполняю код на своей локальной машине, файл генерируется, но когда я развертываю приложение на сервере , код выполняется, но файл не генерируется.
Нужно ли нам какое-либо разрешение для выполнения команд через java на стороне сервера?
Ниже приведены подробности:
Локальная операционная система : > Windows 10.
Сервер приложений : > Apache Tomcat 7.0.75
Серверная операционная система : >Windows Server 2012 R2 Standard
Сервер приложений : >Apache Tomcat 7.0.75
Что я уже пробовал:
Code: 1)Java public static void generatePDF() { try { File file = new File("C:\\Docx_To_Pdf_Converter\\errorLog.txt"); PrintStream printStreamToFile = new PrintStream(file); System.setOut(printStreamToFile); String docToPdf = "C:\\Docx_To_Pdf_Converter\\doc2pdf.bat"; File docPath = new File("C:\\Docx_To_Pdf_Converter\\Letter1.docx"); File pdfPath = new File("C:\\Docx_To_Pdf_Converter\\LetterPDF.pdf"); String command = String.format("%s %s %s", docToPdf, docPath, pdfPath); Process process = Runtime.getRuntime().exec(command); // The next line is optional and will force the current Java //thread to block until the script has finished its execution. process.waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } }
2)and the .bat file code: @Echo off pushd %~dp0 cscript C:\Docx_To_Pdf_Converter\doc2pdf.vbs %1 %2
Richard MacCutchan
Запустите команды bat-файла в командном окне на сервере и посмотрите, что произойдет. Скорее всего, пути в вашем Java-коде не связаны с правильными местоположениями на сервере.