Ошибка Runtime.exe на Linux - PullRequest
       42

Ошибка Runtime.exe на Linux

1 голос
/ 24 апреля 2020

Пытается попытаться запустить любую программу на Linux, используя Runtime.exe c (); Отлично работает на 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

и включил там самое последнее, лучшее решение. Я завернул команду в сценарий, думая, что проблема была в soffice, который я пытался запустить, но это не так. Он даже не запустит / usr / bin / xed. Сначала я попробовал только xed, но это ссылка, поэтому подумал, что оболочка могла бы решить эту проблему. Поэтому я попытался найти жесткий путь к самой программе xed. Не повезло.

Код здесь: https://github.com/windyweather/GuiExample

включая полную трассировку стека в

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

Почему это так сложно? Что за глупость я делаю неправильно? Как может / 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

1 Ответ

0 голосов
/ 24 апреля 2020

Если вы запустите Jar-файл на Linux, программа будет работать как положено. Я бы назвал это ошибкой Eclipse. В течение нескольких лет я видел упоминание go о подобной ошибке в Eclipse, касающейся Runtime.exe c (). Вот вывод терминала из успешного запуска файла 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 с параметрами и показом слайдов файл, который воспроизводился как ожидалось.

Я буду искать, а затем сообщать или комментировать ошибки в затмении. xed - это нормально на моей тестовой системе. Проблема возникает только тогда, когда программа запускается с затмением.

Ну что ж. Вот пару дней я никогда не вернусь. LOL

...