Java Runtime.getRuntime (). Exe c - нет такого файла или каталога - PullRequest
0 голосов
/ 22 апреля 2020

Использование Runtime.getRuntime().exec( cmdAry ); то же самое с одной строкой в ​​качестве массива.

Exeption Cannot run program "libreoffice": error=2, No such file or directory

если я введу точную командную строку в терминал, она будет работать.

вот командная строка:

libreoffice --impress --show /home/xxx/ImpressTests/ShowTestOne.odp

Linux Mint 19.3 То же самое java Программа отлично работает на Windows 10.

на терминале Linux показывает это после успешной работы программы. Восстановление файла не исправляет это.

xxx@LM19RyzenVM:~/CodeJava$ libreoffice --impress --show /home/xxx/ImpressTests/ShowTestOne.odp
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
xxx@LM19RyzenVM:~/CodeJava$

Является ли эта ошибка libreoffice причиной сбоя? Это работало раньше. Как я могу узнать больше об ошибке? Это работает в VirtualBox VM. Может ли это быть разница? Сейчас я проверю go на реальной машине.

Спасибо.

1 Ответ

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

Я нашел это.

https://bugs.documentfoundation.org/show_bug.cgi?id=118373

Это известная ошибка. По какой-то причине Windows не волнует. Но в Linux, запущенном из Java, Java прерывает дочерний процесс, если он пишет в SYSERR. Поэтому, возможно, я смогу обернуть его в сценарий на Linux, чтобы скрыть ошибку, пока не появится исправление.

...