Хорошо, учитывая тот факт, что вы запрашиваете исполняемый файл (exe) в Windows, есть другой подход:
Использование IKVM.NET - компилятор байт-кода , который преобразует байт-код Java в .NET DLL и EXE-файлы.
Получить последнюю версию IKVM.NET здесь .
Используйте эту команду
ikvmc -target:exe -out:foo.exe yourJarFile.jar
для создания исполняемого файла .NET.
После этого вы можете использовать ваш exe-файл с обязательными dll-файлами IKVM или, если вы предпочитаете один exe-файл, вы можете использовать ILMerge , чтобы получить один исполняемый файл:
ILMerge.exe /target:winexe /targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1" /out:C:\foo\bar.exe foo.exe <IKVM dll's>.dll