Linux上的Runtime.exe失败

问题描述 投票:0回答:1

努力尝试使用Runtime.exec()在Linux上启动任何程序;在Windows上效果很好。

java.io.IOException: Cannot run program "/usr/bin/xed": error=2, No such file or directory
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
    at java.base/java.lang.Runtime.exec(Runtime.java:592)
    at java.base/java.lang.Runtime.exec(Runtime.java:416)
    at java.base/java.lang.Runtime.exec(Runtime.java:313)
    at guiExample/com.windyweather.MyCalc.launchProgram(MyCalc.java:276)

我几天过去了。找到了:

https://www.javaworld.com/article/2071275/when-runtime-exec---won-t.html

并在此合并了最后,最好的解决方案。我已经将该命令包装在脚本中,以为问题出在我尝试启动的办公室,但这不是事实。它甚至不会启动/ usr / bin / xed。刚开始我只是尝试xed,但这是一个链接,所以以为shell可能已经解决了。因此,我试图获得通往固定程序本身的艰难路径。没运气。

代码在这里:https://github.com/windyweather/GuiExample

包括完整的堆栈跟踪

https://github.com/windyweather/GuiExample/blob/master/Linux_Runtime_exec_Failure.txt

为什么这么难?显然我做错了什么愚蠢的事?当键入shell的相同内容正常工作时,/ usr / bin / xed怎么可能不存在。顺便说一句,这就是我问外壳程序时得到的:

darrell@LM19RyzenVM:~$ ls -l /usr/bin/xed
-rwxr-xr-x 1 root root 10232 Dec 11 06:49 /usr/bin/xed
darrell@LM19RyzenVM:~$ /usr/bin/xed
darrell@LM19RyzenVM:~$ 

谢谢。抱歉。忘记了。

LM19RyzenVM:~$ java --version
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)
LM19RyzenVM:~$ cat /etc/issue
Linux Mint 19.3 Tricia \n \l

java linux runtime exec
1个回答
0
投票

如果您在Linux上启动Jar文件,该程序将按预期运行。我将其称为Eclipse错误。几年前,我已经提到过有关Eclipse中有关Runtime.exec()的类似错误。这是成功运行jar文件并成功启动soffice的终端输出。

darrell@LM19RyzenVM:~/CodeJava/zzJarFiles$ java --version
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)
darrell@LM19RyzenVM:~/CodeJava/zzJarFiles$ java -jar GuiExample_2020_04_23.jar
launchProgram before soffice --impress --show /home/darrell/ImpressTests/ChainTests/ShowTestOne.odp
launchProgram after
ERROR>func=xmlSecCheckVersionExt:file=xmlsec.c:line=188:obj=unknown:subj=unknown:error=19:invalid version:mode=abi compatible;expected minor version=2;real minor version=2;expected subminor version=25;real subminor version=26
ExitValue: 0
darrell@LM19RyzenVM:~/CodeJava/zzJarFiles$ 

我能够成功启动:/ usr / bin / xed以及xed和soffice,并带有按预期播放的选项和幻灯片显示文件。

我将寻找然后报告或评论Eclipse中的错误。xed在我的测试系统上还不错。仅当使用Eclipse启动程序时,才会出现此问题。

哦,好。那几天我永远都不会回来。哈哈

© www.soinside.com 2019 - 2024. All rights reserved.