Dev*_*aia 5 java macos terminal command pdflatex
我试过寻找答案,但没有一个对我有用.
我正试图在我的Mac上的java应用程序中运行终端中的pdflatex.
在终端,如果我输入:
open -a FireFox http://www.yahoo.co.uk
Run Code Online (Sandbox Code Playgroud)
它在我的FireFox浏览器中打开yahoo.co.uk
要么
pdflatex x.tex
Run Code Online (Sandbox Code Playgroud)
它处理文件
在我的Java代码中输入:
open -a FireFox http://www.yahoo.co.uk'
Run Code Online (Sandbox Code Playgroud)
它在我的FireFox浏览器中打开yahoo.co.uk
要么
pdflatex x.tex
Run Code Online (Sandbox Code Playgroud)
我收到一个错误.
这是代码:
public static void main(String args[]) {
String s = null;
try {
Process p = Runtime.getRuntime().exec("pdflatex x.tex");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
// read the output from the command
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
System.exit(0);
} catch (Exception e) {
System.out.println("exception happened - here's what I know: ");
e.printStackTrace();
System.exit(-1);
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
异常发生 - 这就是我所知道的:
java.io.IOException:无法运行程序"pdflatex":error = 2,
java.lang上的java.lang.ProcessBuilder.start(ProcessBuilder.java:460)中没有这样的文件或目录
. Runtime.exec(Runtime.java:593)位于
java.lang.Runtime.exec(Runtime.java:431)的
java.lang.Runtime.exec(Runtime.java:328),位于
test.JavaRunCommand.main(JavaRunCommand.java) :28)
引起:java.io.IOException:error = 2, 在 java的java.lang.UNIXProcess.(UNIXProcess.java:53)的
java.lang.UNIXProcess.forkAndExec(Native Method)中没有这样的文件或目录 . java.lang.ProcessBuilder.start(ProcessBuilder.java:453)中的lang.ProcessImpl.start(ProcessImpl.java:91 )... 4更多
我试过了JProc,因为它是来自另一篇文章的解决方案,但它仍然有类似的错误:
线程"main"中的异常org.buildobjects.process.StartupException:
无法启动进程'pdflatex x.tex'.
在org.buildobjects.process.Proc.(Proc.java:46) atg.buildobjects.process.ProcBuilder.run(ProcBuilder.java:111)
at
test.JavaRunCommand.main(JavaRunCommand.java:20)
引起:java .io.IOException:
无法运行程序"pdflatex x.tex":error = 2, java.lang.Runtime.exec(Runtime ,
java.lang.ProcessBuilder.start(ProcessBuilder.java:460)中没有此类文件或目录
. java:593)at
org.buildobjects.process.Proc.(Proc.java:43)... 2更多
引起:java.io.IOException:error = 2,
java.lang.UNIXProcess中没有这样的文件或目录. java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
中
java.lang.ProcessImpl.start(ProcessImpl.java:91)的java.lang.UNIXProcess.(UNIXProcess.java:53)中的forkAndExec(Native Method
). ..还有4个