JexePack
Jexepack je v informatice program, který umožňuje vytváření z jakéhokoliv programu v Javě, komprimovaný 32bitový soubor typu .EXE, který lze spustit v operačním systému Windows. Tento exe soubor pak pracuje přesně tak, jak chceme tedy přesně stejně jako kterýkoli jiný program a umožňuje tedy i využití AWT, Swing (Java) nebo JavaFX. Podmínkou je mít nainstalovaný Jexepack minimálně v takové verzi, kterou vyžaduje právě používaná Java verze. V logickém důsledku to znamená, že aplikace JexePack neřeší problematiku snadnějšího šíření programů v Javě, protože je přímo závislý na nainstalovaném JRE.
Výhody
[editovat | editovat zdroj]Výhod právě vzniklých .exe souborů oproti standardním souborům, je několik:
- Skrytí veškerých programových souborů – hlavně .class před případnou rekompilací nebo neoprávněným zásahem.
- JexePack dává na výběr mezi spuštěním v okně nebo konzolovém režimu.
- Velikost vzniklého .exe souboru je často dokonce menší, než velikost ekvivalentního .jar souboru
- Jednoduché rozhraní a spouštění programů pro uživatele laiky
- Aplikace JexePack podporuje přímé přiřazení ikony – .ico. V .jar lze ikonu řešit nepřímo přes Java Web Start
- Kompaktnost programu- vždy se přenáší jen jeden soubor.
- Ikonizace, která dodává .exe souboru vzhled plnohodnotné windows aplikace.
Nevýhody
[editovat | editovat zdroj]Nevýhody aplikace Jexepack:
- Samozřejmě musíme počítat se ztrátou přenositelnosti mezi různými platformami
- Program Jexepack je registrovaným produktem firmy Duckware a není to freeware. Koupě
- plnohodnotné verze stojí $99.95. Ovšem je možné si zdarma stáhnout neregistrovanou verzi, která má svá určitá omezení. Zejména, že při každém spuštění .exe souboru se nejdříve zobrazí okénko.
- Není volně šiřitelný
- Na cílovém počítači musí být vždy nainstalován příslušný Java Virtual Machine, jinak program nebude fungovat.
- Program funguje na principu zaarchivování všech zadaných souborů. Při spuštění se vytvoří podadresář v adresáři Temp windows, který obsahuje soubor jexepackboot.class. Ten dále extrahuje programové soubory do stejného adresáře. Po ukončení programu se celý adresář automaticky smaže.
- Při násilném ukončení programu, zůstávají výše zmiňované soubory neodstraněné v Temp Windows.
- Závádění větších programů trvá déle, protože soubory se musí nejdříve extrahovat. Proto se program stává trochu nepoužitelný pro větší programy.
Použití
[editovat | editovat zdroj]Vytváření .exe souborů z programů v Javě, přes aplikaci Jexepack je vhodný pro menší programy, především určené pro širokou veřejnost a laiky.
Vytvoření exe souboru
[editovat | editovat zdroj]Zde je uveden možný příkaz s parametry pro vytvoření .exe souboru v programu Jexepack.
jexepack.exe [/parametry] výčet_souborů
/main:[název hlavní třídy] – jméno třídy obsahující metodu main (povinný parametr) /out:[název tvořeného souboru] – jméno výstupního .exe (nutno zadat i s příponou) /dir:[adresář komprimovaných souborů] – není-li uveden, berou se soubory v aktuálním adresáři /minver:[minimální verze javy požadovaná pro spuštění programu] /jar:[jméno případného Jar souboru] /icon:[soubor ikony] /w – spustí program v okenním režimu (pomocí javaw) výčet_souborů – výčet všech souborů přidávaných do .exe souboru – např. *.class *.gif
Tvorba .exe souboru z HelloWorld aplikace
[editovat | editovat zdroj]Vytvoření .exe souboru z aplikace HelloWorld napsané v programovacím jazyce Java.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
jexepack.exe /main:HelloWorld HelloWorld.class
Po provedení tohoto příkazu vznikne soubor HelloWorld.exe
Tvorba .exe souboru z .jar souboru
[editovat | editovat zdroj]Ukázka tvorby .exe souboru ze souboru .jar na „okenní“ aplikaci HelloWorldWindow.java
import javax.swing.*;
public class HelloWorldWindow extends JFrame {
HelloWorldWindow() {
super("HelloWord");
this.add(new JLabel("HelloWord", JLabel.CENTER));
this.setSize(180, 70);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new HelloWorldWindow().setVisible(true);
}
}
Je třeba vytvořit přímo spustitelný soubor HelloWorldWindow.jar, pro který použijeme ikonu. Samotné vytvoření souboru HelloWorldWindow.exe pak představuje následující příkaz:
jexepack.exe /out:HelloWorldWindow.exe /main:HelloWorldWindow.jar /minver:1.5 /jar:HelloWorldWindow.jar /icon:HelloWorld.ico /w HelloWorldWindow.jar