Как конвертировать JAR файл в EXE файл?
Я хочу создать JAR файл, и я хочу запустить его на клиентской машине. Итак, у меня есть пара вопросов:
- Как преобразовать файл JAR в EXE файл?
- Как я могу зашифровать содержимое JAR файла? Файл jar может быть извлечен с помощью WinRAR, и классы могут быть декомпилированы с любым декомпилятором Java.
- Как создать установщик? У моих клиентов нет JVM, и я не хочу отправлять JDK или JRE, потому что они имеют большой размер.
Ответы
Ответ 1
-
См. Эту ссылку: Java to Exe. Он также объясняет, какие веские причины для этого делать, а когда нет.
-
Вы не можете действительно шифровать двоичные файлы, поскольку машина должна их понимать. Тем не менее, оптимизированный исполняемый файл очень сложно декомпилировать, в то время как простые файлы классов являются легкостью.
-
Если у вас есть exe, есть инсталляторы.
Ответ 2
JSmooth - это приложение, которое обернет ваш Jar в exe
он также позволяет вам проверить, доступна ли правильная версия JRE в системе, которую вы развертываете в
http://jsmooth.sourceforge.net/
Ответ 3
Что касается 1): Я думаю, вы не можете. Там могут быть инструменты, но вы не можете сделать это со стандартными инструментами, поставляемыми с JDK, так как это разрушит независимость платформы. (См. Другие ответы, содержащие ссылки на такие сторонние инструменты)
Как для 3): Используйте InnoSetup для создания установщика. Включите JRE в настройку и пусть InnoSetup установит его на лету.
Ответ 4
Вы не можете предотвратить декомпиляцию. Лучшее, что вы можете сделать, это сделать его сложнее или более трудоемким для этого. В качестве ответа на ваш вопрос, однако, я считаю, что вы можете использовать gcj для компиляции Java в EXE.
Ответ 5
Может быть Excelsior JET удовлетворит ваши потребности.) IMHO очень зрелый продукт.
Ответ 6
1) Недавно я попробовал программу jarToExe и понравился.
Некоторые функции:
- бесплатная базовая версия или очень дешевая ($ 30) для 'enterprise'
- возможность иметь диспетчер задач Windows для отображения имени вашего приложения вместо стандартного java.exe
- дополнительная обфускация
- время выполнения проверяет, что установлена java
2). Вы можете сделать сложнее обратное проектирование с помощью proguard или другого обфускатора
3) nsis - очень мощный бесплатный скриптовый язык для создания установщиков Windows. Хорошая документация на вики-странице сайта и поддержка.
Ответ 7
Launch4j работал у меня, а некоторые инструменты не работали. Здесь также есть хороший путеводитель здесь.
Надеюсь на эту помощь!
Ответ 8
Мы используем 7zip SFX install launcher. Это простой инструмент с открытым исходным кодом. Он упакует вашу банку, версию jre, поэтому не обязательно, чтобы установочные системы установили jre и самораспаковывающуюся версию 7zip. Вот учебник, в котором объясняется, как связывать и связывать GitHub. Проект не поддерживается, но работает отлично (тестируется до Java 1.8)