2015-08-08 1 views
1

Я создал небольшое приложение Java, которое использует графический интерфейс и несколько моих друзей, у которых Windows попросила отправить их им. Я хочу избежать их как можно большего числа шагов по установке и т. Д., Поэтому мне интересно, какой из них будет лучшим.Создание портативного файла .exe (из .jar), который будет запущен в Windows

Итак, я построил .jar из NetBeans, и когда я запустил его, он отлично работает. Оттуда я попытался создать один переносимый файл .exe для Windows, который я мог бы отправить, и они могли бы просто открыться без какого-либо предыдущего шага (при условии, что у них есть JRE). Поэтому я загрузил JSmooth, Jar2Exe и Launch4j, и все они сгенерировали файл .exe, но как только я сменил его местоположение, он больше не работает, поэтому я не вижу в нем никакого преимущества над файлом .jar.

Так что я хочу знать: есть ли способ объединить все вместе в .exe, который будет работать всегда в Windows независимо от того, где он находится?

В случае, если это имеет значение: в проекте используется добавленная библиотека JLayer (для Mp3).

Спасибо!

P.S .: Я полный новичок в программировании и компьютерах в целом, поэтому, пожалуйста, будьте терпеливы и не принимайте ничего как должное.

+0

Имеются несколько оберток exe, я лично использую exe4j, но коммерческий, но в то время, когда он мне нужен, была единственная 64-разрядная оболочка. Вы также можете использовать один из многих пакетов установщика, например, izpack. Некоторые даже предоставляют возможность установки JVM, но я привык включать JVM, я хочу, чтобы люди использовали встроенные в мою программу;) – MadProgrammer

+1

«но как только я сменил его местоположение, он не работает дольше ", - они не работают, вы пропустили что-то еще. Не ясно из вопроса, хотя .. – Jayan

+0

Я имею в виду, что когда я запускаю сгенерированный файл .exe из созданной вначале папки, он работает, но как только я меняю его местоположение (например, копируя его в другую папку или перетаскивая это на рабочий стол) Я нажимаю на значок, и ничего не происходит, .exe не запускает приложение. Надеюсь, теперь это ясно. Возможно, мне не удалось установить что-то в параметрах exe-оболочек перед созданием exe-файла. –

ответ

1

Вы можете использовать Launch4j. В моем приложении я просто создаю пусковую установку. Это небольшой файл .exe для запуска файла jar. Таким образом, мне не нужно создавать .exe-файл каждый раз, когда у меня есть новый файл jar. Я просто переименую файл jar, чтобы он соответствовал тому, что установлено в файле .exe. Я помещаю файлы exe и jar в одну папку. Пока выполнение jar не имеет проблем с зависимостями и библиотеками, запуск exe-файла также не должен иметь проблем.

+0

Вот что я думаю, что мои обертки делают для меня, потому что, как только я помещаю .exe и .jar в отдельных папках .exe больше не может запускать приложение. Но это не так: теперь, когда вы упомянули об этом, в той же папке, что и файл jar (/ dist), есть папка с библиотеками (/ lib), поэтому мне кажется, что я не был успешным в упаковке моих внешних библиотек в .jar с IDE. Я попробую еще раз, как только я это сделаю. Благодаря! –