- JAR-файлы в Windows – как открывать, редактировать и конвертировать
- Как открыть файлы JAR
- Ошибки открытия файлов JAR
- Как конвертировать файл JAR
- Дополнительная информация о формате JAR
- Создание exe-файла из jar
- Описание java-примера
- Сообщения в консоли
- Изменения в исходных кодах
- Листинг класса Boostrap.java
- Оборачивание исполняемого jar в exe-файл
- Скачать исходники
- Find absolute java.exe path programmatically from java code
- 3 Answers 3
- Output
- Executable Java Jar File and Windows Exe File Creation
- How to Create an Executable JAR File?
- How to create a java manifest file?
- Sample Application
- How to Create a Windows Exe file?
- Compiling a java program into an executable [duplicate]
- 7 Answers 7
JAR-файлы в Windows – как открывать, редактировать и конвертировать
Файл с расширением .JAR представляет собой файл Java Archive, используемый для хранения Java программ и игр в одном файле. Некоторые содержат файлы, которые заставляют их работать как отдельные приложения, а другие содержат библиотеки программ для использования другими программами.
JAR-файлы сжаты в ZIP и часто хранят такие вещи, как файлы CLASS, файлы манифеста и ресурсы приложения, такие как изображения, звуковые клипы и сертификаты безопасности. Так как они могут хранить сотни или даже тысячи файлов в сжатом формате, файлами JAR легко обмениваться и перемещать.
Мобильные устройства с поддержкой Java могут использовать файлы JAR в качестве файлов игры, а некоторые веб-браузеры содержат темы и надстройки в формате JAR.
Как открыть файлы JAR
Java Runtime Environment (JRE) должен быть установлен для того, чтобы открыть исполняемый JAR-файл, но обратите внимание, что не все JAR-файлы имеют формат исполняемого файла. После установки вы можете просто дважды щелкнуть файл JAR, чтобы открыть его.
Некоторые мобильные устройства имеют встроенную JRE. После установки приложения Java также можно открывать в веб-браузере, например Firefox, Safari, Edge или Internet Explorer (но не в Chrome).
Поскольку JAR-файлы сжимаются с помощью ZIP, любой распаковщик файлов может открыть его, чтобы отобразить содержимое, которое находится внутри. Это включает в себя такие программы, как 7-Zip, PeaZip и jZip.
Другой способ открыть файлы JAR – использовать следующую команду в командной строке, заменив yourfile.jar именем вашего собственного файла JAR:
Ошибки открытия файлов JAR
Из-за настроек безопасности в операционной системе Windows и в некоторых веб-браузерах весьма часто можно увидеть ошибки при попытке доступа к приложениям Java.
Например, «Java Application Blocked» может отображаться при попытке загрузки Java-апплета. Это можно исправить, установив уровень безопасности в апплете панели управления Java.
Если вы не можете открыть апплеты Java даже после установки JRE, сначала убедитесь, что Java включена в вашем браузере и что панель управления правильно настроена для использования Java. Затем полностью перезапустите браузер, закрыв все открытые окна, а затем снова откройте программу.
Также убедитесь, что вы используете последнюю версию Java. Если нет, вернитесь к ссылке JRE выше и установите последнюю версию.
Как конвертировать файл JAR
Вы можете декомпилировать файлы CLASS JAR-файла в файлы Java с помощью веб-сайта JavaDecompilers.com. Загрузите туда свой JAR-файл и выберите, какой декомпилятор использовать.
Преобразование приложения Java для использования на платформе Android потребует преобразования файла JAR в APK. Одним из вариантов может быть запуск файла JAR в эмуляторе Android, чтобы программа автоматически создала файл APK. Однако, самый простой способ получить Java-программу на Android – просто скомпилировать APK из исходного исходного кода.
Файлы WAR также являются файлами Java Web Archive, но вы не можете преобразовать файл JAR напрямую в файл WAR, поскольку формат WAR имеет особую структуру, которой нет в JAR. Вместо этого вы можете создать WAR-файл и затем добавить JAR-файл в каталог lib, чтобы классы в JAR-файле были доступны для использования. WizToWar может помочь вам сделать это.
Создать ZIP-файл из JAR-файла так же просто, как переименовать расширение файла из .JAR в .ZIP. Это, на самом деле, не выполняет преобразование файлов, но позволяет программам, использующим ZIP-файлы, таким как 7-Zip или PeaZip, легче открывать файл JAR.
Дополнительная информация о формате JAR
Если вам нужна помощь в упаковке программ в файлы JAR, перейдите по этой ссылке для получения инструкций на веб-сайте Oracle.
Только один файл манифеста может быть включен в архив JAR, и он должен находиться в расположении META-INF/MANIFEST.MF. Он должен следовать синтаксису имени и значения, разделенных двоеточием, как Manifest-Version:1.0. Этот файл MF может указывать классы, которые должно загружать приложение.
Разработчики Java могут подписывать свои приложения цифровой подписью, но это не подписывает сам файл JAR. Вместо этого файлы внутри архива перечислены с их подписанными контрольными суммами.
Создание exe-файла из jar
Пользователям Windows привычнее использовать исполняемое приложение в виде exe-файла, нежели архивного jar-файла. Разработчики настольных java-приложений могут плагином launch4j не только обернуть исполняемый архивный jar-файл в оболочку exe-файла, но и включить в него иконку, автора, версию. Также данный плагин позволяет определить минимальную версию используемой JRE. В данной статье рассмотрим использование maven-плагина launch4j для получения exe-файла.
Описание java-примера
В качестве java-примера используем pluggable решение, включающее несколько jar-файлов. На следующем скриншоте представлена структура нашего экспериментального примера. Три файла, выделенные красным прямоугольником и относящиеся к задаче создания исполняемого exe-файла, рассматриваются ниже.
Несколько слов о структуре примера. Описание с исходными кодами данного java-примера представлено на странице Pluggable решение. Желающие могут поближе познакомиться с технологией динамической загрузки jar-файлов (классов), открыв страницу с подробным описанием исходников. На «выходе» данного примера получаем главный исполняемый модуль plugin-loader.jar, который использует common/plugin-api.jar для загрузки при необходимости (вызове) плагинов plugins/hello1.jar и plugins/hello2.jar.
Графический интерфейс примера, представленный на следующем скриншоте, включает 2 кнопки с надписями ‘Plugin1’ и ‘Plugin2’. При нажатии на одну из кнопок приложение подгружает необходимый плагин, который меняет надпись на кнопке.
Сообщения в консоли
Динамически загружаемые плагины выводят в консоль дополнительно сообщения. Ниже представлены сообщения от двух плагинов.
Изменения в исходных кодах
Необходимо отметить, что в модули PluginLoader.java и Boostrap.java были внесены изменения. Так в PluginLoader.java добавлена метка JLabel с отображением в интерфейсе версии Java :
В класс Boostrap.java внесены изменения, связанные с чтением классов (*.class) из jar’ника, а не из директории bin, как это представлено в исходных кодах. Если этого не сделать, то придётся с собой ещё «таскать» и директорию bin с class’ами.
Листинг класса Boostrap.java
В главный класс Boostrap внесены изменения определения url : ниже исходной закомментированной строки размещается код определения url в jar-файле.
Оборачивание исполняемого jar в exe-файл
Обычно плагин maven.plugins.launch4j включают в проектный pom.xml файл, в котором формируется и исполняемый jar-файл. Поскольку основная цель данной статьи наглядно продемонстрировать возможность оборачивания jar в exe, то уберем из проектного pom.xml все лишнее, что связано с формированием jar-файла. Правильнее сказать создадим такой pom.xml, который и будет решать основную задачу оборачивания jar в exe.
Cледующий листинг проектного файла pom.xml решает данную задачу. Сам pom.xml существенно упростился и стал более наглядным. В разделе
определяются наименование компании (product.company) и наименование исполняемого файла (exeFileName), а также минимальная версия jdkVersion. Основные настройки плагина определяются в разделе . В секции указываются jar-файл, exe-файл (outfile) и иконка испольняемого файла (icon). Плагин будет ругаться, если не укажете наименование иконки. Следует отметить, что в секции необходимо указать главный стартуемый java-класс (mainClas).
На следующих скриншотах представлены вкладки свойств созданного PluginLoader.exe.
Скачать исходники
Вы можете скачать исходники рассмотренного примера (40.1 Кб), включающего как jar-файлы, так и exe-файл с проектными pom.xml.
Процесс автоматизации сборки данного примера рассмотрен на странице описания Многомодульного maven проекта.
Find absolute java.exe path programmatically from java code
If I have a java jar or class file which is launched by the user (assuming java path is set in environment variables), so how can i from within the code, figure out absolute path of java.exe/javaw.exe from which this file is being launched.
Like on ubuntu we can run: % which java and it shows the path.
However on windows, if i check System.getenv() it may happen that there are multiple path’s found e.g for old or new version. If through cmd line, I run java -version it does not show the path.
Can you tell me either through pure java or command line on windows how is it possible to find out the location of javaw.exe?
3 Answers 3
Can you tell me either through pure Java . on windows how is it possible to find out the location of javaw.exe?
Output
And yes, I am confident that will work in a JRE.
On Windows, the java.library.path System Property begins with the path to the bin directory containing whichever java.exe was used to run your jar file.
This makes sense, because on Windows the first place any executable looks for DLL files is the directory containing the executable itself. So naturally, when the JVM runs, the first place it looks for DLLs is the directory containing java.exe.
You can acquire the path to java.exe as follows:
This code is Windows-specific — I hard-coded the path separator (;) and the file separator (). I also put in a fallback to just «java» in case the library path trick somehow doesn’t work.
I have tested this with Java 6 and 7 on Windows 7. I tried a 32-bit and 64-bit version of Java.
Executable Java Jar File and Windows Exe File Creation
How to create an executable java jar file? I want to just double click the jar file and the application should run, please help me. I want to convert my java application to a windows exe file, how can I do it? These are two frequently asked questions.
For you guys who know about these things already you may skip this article, as there is no surprise element embedded. For us who are interested in learning new things go ahead, anything new adds up.
How to Create an Executable JAR File?
JDK gives us a tool to create jar files.
Before creating a java jar file, we need to create a java manifest file.
Command to create an executable java jar file:
jar -cvfm BundleExample.jar manifes
t.txt com/javapapers/corejava/*.class
How to create a java manifest file?
Generally we will have the manifest file located in,
This manifest file contains information about the jar file. Information like which is the main java class to be executed, who created the application, version of the application, etc.
It is a regular text file. Remember to press enter at the end of each line and importantly in the last line.
So with respect to creating an executable java jar file, we need to add the main class of the application using which it can be launched. Our example manifest file is like below,
This is the only line I have and that is sufficient for our purpose.
Sample Application
We need a sample java application to enjoy this. Lets create a simple hello world type swing application.
Just execute the following line (command) to create the jar file, you should have added JDK to PATH.
jar -cvfm BundleExample.jar manifes
t.txt com/javapapers/corejava/*.class
Now we can double click the jar file and the application will launch and run.
How to Create a Windows Exe file?
If we create a windows native exe file, then we loose the platform independent-ness.
Let us use a tool called Launch4J. It’s a nice tool, works good and easy to use.
Its core features are,
- creating lightweight Windows native EXE
- JRE version control
- app icon
- splash screen
- process name
- Java download page
Download Launch4J and use the GUI to create the windows/Java exe file. Launc4J creates an XML file to save the configuration.
- I have specified the output file, this is the name of the exe file to be created.
- Jar is the input file which we want to bundle as an exe file. Lets use the Java JAR which we created in the previous step.
- In JRE tab, we can specify the Min JRE version required. So this will detect the JRE available in the system and verify if the version is sufficient.
- Click the cog wheel icon from the menu to generate the exe file.
Compiling a java program into an executable [duplicate]
I’ve just made a simple program with Eclipse and I want to compile it into an executable, but simply can’t seem to find out how to do it.
7 Answers 7
You can convert .jar file to .exe on these ways:
(source: viralpatel.net)
1- JSmooth .exe wrapper:
JSmooth is a Java Executable Wrapper. It creates native Windows launchers (standard .exe) for your java applications. It makes java deployment much smoother and user-friendly, as it is able to find any installed Java VM by itself. When no VM is available, the wrapper can automatically download and install a suitable JVM, or simply display a message or redirect the user to a web site.
JSmooth provides a variety of wrappers for your java application, each of them having their own behaviour: Choose your flavour!
2- JarToExe 1.8
Jar2Exe is a tool to convert jar files into exe files. Following are the main features as describe in their website:
- Can generate “Console”, “Windows GUI”, “Windows Service” three types of exe files.
- Generated exe files can add program icons and version information.
- Generated exe files can encrypt and protect java programs, no temporary files will be generated when program runs.
- Generated exe files provide system tray icon support.
- Generated exe files provide record system event log support.
- Generated windows service exe files are able to install/uninstall itself, and support service pause/continue.
- New release of x64 version, can create 64 bits executives. (May 18, 2008)
- Both wizard mode and command line mode supported. (May 18, 2008)
3- Executor
Package your Java application as a jar, and Executor will turn the jar into a Windows exe file, indistinguishable from a native application. Simply double-clicking the exe file will invoke the Java Runtime Environment and launch your application.