Как правило, мы подошли к этому с оболочкой C или (только для unix) оболочки. Не уверен, что это действительно сработает для вас.
Мы также подходим к этому, встраивая JRE в наш продукт. Заботится о 99,9% случаев (остальные 0,1% времени - это пользователь, явно меняющий нашу конфигурацию для использования другой JVM). Опять же, не уверен, что это разумное решение для вас.
В нашем случае имеется большое количество нативного кода (JNI и т. Д.), Поэтому в любом случае необходимо адаптировать установочный образ для каждой поддерживаемой нами платформы. Но если вы имеете дело с решением на чистом Java, вам, возможно, придется просто документировать свой минимум и сказать людям, чтобы они работали с программой (не каламбур), если они хотят запустить ваши вещи. Это похоже на то, как люди жалуются, что мой Mac не будет работать под управлением MSVC или что у моей Linux-машины проблемы с запуском World of Warcraft. Это не та (виртуальная) машина, для которой предназначено программное обеспечение - вам нужно переключиться. По крайней мере, в мире Java, мы действительно можем назвать это обновлением, без ущерба для чьих-либо религиозных чувств. (Попробуйте попросить пользователя Mac «обновить» до Windows XP, чтобы запустить MSVC - ожидание может быть сбито.)