aditya a jadhav Ответов: 0

Никакого вывода при выполнении .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-коде не связаны с правильными местоположениями на сервере.

0 Ответов