我想在Java上使用dvipdfmx命令将.dvi转换为.pdf。但是我的代码抛出了IOException。 我使用的是OS X.
以下是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
答案 0 :(得分:1)
正如@chrylis在评论中所说,你应该将绝对路径传递给可执行文件(不仅仅是arg):
pb.command("/path/to/your/dvipdfmx", "/path/to/your/myreport.dvi");