Přeskočit na obsah

Wikipedista:Nolimar

Z Wikipedie, otevřené encyklopedie

JexePack

Jexepack je program, který umožňuje vytváření z jakéhokoliv programu v Javě, komprimovaný 32-bitový .exe soubor, 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 nebo Swing. 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ýhod právě vzniklých .exe souborů oproti standartním .jar souborů, je několik.Zejména:

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řirazení 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 soupor. 7) Ikonizace, která dodává .exe soboru vzhled plnohodnotné windows aplikace. 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ě 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. 3) Není volně šiřitelný 4) Na cílovém počítačí 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ý obshauje soubor jexepackboot.class. Ten dále extrahuje programové soubory do stejného adresáře. Po ukončení programu se celý adresář automaticky smaže.

Nevýhodou je, ž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.

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.

Jak vytvořit exe soubor:

Použití:

 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 okení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

 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

Ukázka bude 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