Стоит погуглить Native Package. Это стандартная возможность упаковать приложение вместе с подходящей для него Java-машиной для конкретной платформы. То есть, Ваше приложение будет упаковано в .exe (или формат исполняемого файла любой другой платформы) и, при его запуске, будет использовать вшитую рантайм машину. Тогда и заморачиваться с совместимостью не придется.
Пока я с этим встречался только в плагине для javafx в eclipse. Но эта возможность подразумевается в самом пакете JDK (если не ошибаюсь).