Вы можете запустить программу вручную из командной строки.Вы можете запустить программу из родительского процесса, используя полную спецификацию пути.Я бы сказал, что мы можем предположить, что программа работает правильно.
Что еще может отличаться?Может быть, среда, в которой работает родительский процесс?Я бы проверил PATH перед запуском процесса.Вы используете Java.Слишком много программ на Java используют пакетные файлы для запуска процесса JVM.Этот пакетный файл может быть изменен с помощью переменной PATH.
Если это ваша программа, а пакетный файл не задействован, я проверю текущий рабочий каталог при запуске родительской программы.Это может повлиять и на то, что будет найдено во время выполнения.