Кратчайшая инструкция. Пишем простейшее тестовое приложение, допустим "Hi Amigo!" в файл HiAmigo.txt 100 раз.

public class Main {
    public static void main(String[] args) throws IOException {

        File file = new File("C:\\temp\\HiAmigo.txt");
        FileWriter fileWriter = new FileWriter(file);

        for (int i = 0; i < 100 ; i++) {
            fileWriter.write("Hi Amigo! \n");
        }
        fileWriter.close();
      }
}
Проверяем что все работает на этом этапе (это важно!) Конвертируем JAR в исполняемый (.exe) файл - 1 Идем File -> Project Structure -> Artifacts -> + JAR -> From Modules with dependencies.. Конвертируем JAR в исполняемый (.exe) файл - 2 Указываем путь к нашему Main.class: Конвертируем JAR в исполняемый (.exe) файл - 3 Жмем ОК Жмем Build Artifacts - > Action -> Build Конвертируем JAR в исполняемый (.exe) файл - 4 Появляется наш артефакт: Конвертируем JAR в исполняемый (.exe) файл - 5 Удаляем наш тестовый файл "C:\\temp\\HiAmigo.txt" и запускаем JAR. Файл должен появиться еще раз. Если появился - все ок. Едем дальше. Качаем тулзу с сайта https://launch4j.sourceforge.net/ (Рекомендую версию 3.14, потом объясню почему). Устанавниваем запускаем. Нам нужно два поля. Указываем наш JAR и куда класть готовый .exe Конвертируем JAR в исполняемый (.exe) файл - 6 Сейчас самое интересное. Представьте ситуацию что на машине где мы планируем использовать наше приложение не установлена JRE и нет возможности ее установить. Такое часто бывает по соображениям безопасности. К тому же хорошо бы обеспечить наше приложение более высоким уровнем автономности. Делаем следующее. Создаем отдельный каталог для нашего приложения, пусть OurApp. Внутри создаем папку JRE. Качаем JRE (в моем примере пусть будет jre-8u361-windows-i586) устанавливаем куда нибудь (если это готовый архив разархивируем) и выдергиваем из нее все файлы. Копируем все в \OurApp\JRE\ должно получиться примерно так: Конвертируем JAR в исполняемый (.exe) файл - 7 В Launch4j переходим во вкладку JRE и в поле Bundled JRE paths: указываем имя каталога JRE Конвертируем JAR в исполняемый (.exe) файл - 8 Жмем на шестеренку и выбираем любой файл для сохранения конфигурации типа file.xml Конвертируем JAR в исполняемый (.exe) файл - 9 После нажатия на save появится наш exe. Конвертируем JAR в исполняемый (.exe) файл - 10 Копируем exe и кладем рядом рядом с папкой JRE Конвертируем JAR в исполняемый (.exe) файл - 11 Удаляем тестовый C:\temp\HiAmigo.txt. Запускаем exe и смотрим как создается новый. Вот и все. Теперь каталог можно OurApp можно архивировать и передавать куда угодно, exe отработает. Важно: Версия JRE в папке должна быть не ниже той на которой билдился артефакт. Проверяйте поле: Конвертируем JAR в исполняемый (.exe) файл - 12 В моем случае возникли проблемы совместимости с x86 платформой и я использовал версию враппера 3.14, так как в ней можно явно указывать тип целевой архитектуры. В общем всем спасибо за внимание. Это была моя первая статья-инструкция, прошу не судить строго. Всем мир!