2014-10-22 5 views
0

Я хочу преобразовать .dvi в .pdf, используя команду dvipdfmx на Java. Но мой код вызывает IOException. Я использую OS X.Java При использовании Process # start() IOException выбрано

следующее: Main.java.

public class Main { 
    public static void main(String[] args) throws IOException, InterruptedException { 
     ProcessBuilder pb = new ProcessBuilder(); 
     pb.command("dvipdfmx", "myreport.dvi"); 
     Process process = pb.start(); 
     process.waitFor(); 
    } 
} 

Скажите, пожалуйста, как решить проблему.

Ниже приведено сообщение об ошибке.

Exception in thread "main" java.io.IOException: Cannot run program "dvipdfmx": error=2, No such file or directory 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042) 
    at Main.main(Main.java:11) 
Caused by: java.io.IOException: error=2, No such file or directory 
    at java.lang.UNIXProcess.forkAndExec(Native Method) 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:185) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:134) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023) 
    ... 1 more 
+3

Пожалуйста, пост StackTrace –

+0

трассировка будет полезно , Если файл не найден, он не генерирует исключение. –

+0

Я отредактировал и добавил вывод ошибок. – redstone

ответ

1

Как @chrylis сказал в своем комментарии, вы должны пройти полный путь к исполняемым (не только к арг):

pb.command("/path/to/your/dvipdfmx", "/path/to/your/myreport.dvi"); 
+0

Я вижу. Я попробую. – redstone

+0

Спасибо! Это сработало! – redstone

Смежные вопросы