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

Výhod právě vzniklých .exe souborů oproti standardním souborům, je několik:

  1. Skrytí veškerých programových souborů – hlavně .class před případnou rekompilací nebo neoprávněným zásahem.
  2. JexePack dává na výběr mezi spuštěním v okně nebo konzolovém režimu.
  3. Velikost vzniklého .exe souboru je často dokonce menší, než velikost ekvivalentního .jar souboru
  4. Jednoduché rozhraní a spouštění programů pro uživatele laiky
  5. Aplikace JexePack podporuje přímé přiřazení ikony – .ico. V .jar lze ikonu řešit nepřímo přes Java Web Start
  6. Kompaktnost programu- vždy se přenáší jen jeden soubor.
  7. Ikonizace, která dodává .exe souboru vzhled plnohodnotné windows aplikace.

Nevýhody editovat

Nevýhody aplikace Jexepack:

  1. Samozřejmě musíme počítat se ztrátou přenositelnosti mezi různými platformami
  2. Program Jexepack je registrovaným produktem firmy Duckware a není to freeware. Koupě
  3. 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.
  4. Není volně šiřitelný
  5. Na cílovém počítači musí být vždy nainstalován příslušný Java Virtual Machine, jinak program nebude fungovat.
  6. 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.
  7. Při násilném ukončení programu, zůstávají výše zmiňované soubory neodstraněné v Temp Windows.
  8. 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

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

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

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

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