Как настроить install4j для запуска исполняемого jar-файла java, который содержит другие jar-файлы?

У меня есть java исполняемый файл JAR, в который встроено много других файлов JAR. Для этого он использует simon tuffs onejar. JAR-файл работает правильно, когда я дважды щелкаю по нему или запускаю 'java -jar myApp.jar' из командной строки. В jar-файле есть файл manifest.mf, содержащий:

Manifest-Version: 1.0
Main-Class: com.simontuffs.onejar.Boot
One-Jar-Expand: expand,doc

Install4j правильно копирует этот jar-файл в папку bin, но "myApp.exe", который он создает, не запускается. Я получил:

java.lang.ClassNotFoundException: com.ndi.foreCee.programs.MyApp

или же:

java.lang.ClassNotFoundException: com.simontuffs.onejar.Boot

в зависимости от того, что я подключаю к странице настройки Java в Install4j 'Основной класс'. Я установил для параметра "Путь к классу" значение "Archive bin \ myApp.jar".

Может кто-нибудь сказать, как настроить install4j для создания исполняемого файла, который просто выдает 'java -jar myApp.jar', используя встроенный jre?

3 ответа

Добавьте действие "Запуск исполняемого или пакетного файла" на "Экран установки" и установите следующие свойства:

Свойство "Исполняемый": ${installer:sys.javaHome}/bin/java

Свойство "Аргументы": -jar; filename.jar (в редакторе по одному аргументу в строке)

Install4j: как выполнить командную строку java -jar filename.jar в конце установки

Может кто-нибудь сказать, как настроить install4j для создания исполняемого файла, который просто> выдает 'java -jar myApp.jar', используя встроенный jre?

Панель запуска, сгенерированная install4j, не выполняется javaвообще, он использует JNI для создания JVM.

Вы можете запустить исполняемый файл из командной строки с параметром /create-i4j-log чтобы получить файл журнала, который показывает параметры, которые передаются в JVM.

Я решил свою проблему, обновив сборку ant и удалив simon tuffs one-jar и заменив его следующим образом: как описано в разделе Включение внешних jar-файлов в новую сборку jar-файла с Ant. После этого лаунчер Install4J работал, как рекламировалось (и, как описано в M2E67).

Другие вопросы по тегам