2012-12-16

Úplné začátky v Javě – kompilace

Návod pro práci s Javou v konzoli, nikoliv přes IDE (NetBeans). Každý programátor v Javě by měl tyto základy určitě znát, jinak se dřív nebo později ztratí.

Napsáno: Kdysi dávno (2002?)
Aktualizace: 17.7.2008


Jak přeložit soubor s příponou .java

Pokud máte soubor s příponou .java, máte zdrojový kód neboli zdroják. Takže:

  • Stáhnete a nainstalujte JDK odněkud z http://java.sun.com/ – v době tvorby stránky je to „JDK 6 Update 7“ zde. Vyberte offline instalation.

    JDK – Java Developement Kit – je hafo souborů, které

    1. umožní kompilaci,
    2. obsahují knihovny.

    Potřebují ho jen ti, kteří chtějí v Javě programovat.

    Pro běh zkompilovaných .class souborů stačí JRE – Java Runtime Environment.

  • Do systémové proměnné PATH přidejte cestu k právě nainstalovanému JDK. To provedete buď na konzoli příkazem
    set PATH=%PATH%;"D:\Program Files\j2sdk141\bin\";

    (cestu samozřemě změňte tam, kam jste JDK instalovali),
    nebo nastavíte na Windows XP v Ovládací panely -> Systém -> Upřesnít -> Proměnné prostředí -> Systémové proměnné.
    První možnost trvá do uzavření konzole a je možno jí automatizovat pomocí .bat souboru.
    Druhá možnost je trvalá.

  • Spusťte konzoli. To proveďte přes zkratku Win+R, zapište cmd a OK. Nyní se dostaňte pomocí dosových příkazů cd .. apod. do adresáře, kde máte zdroják. Zvažte, jestli se radši nenaučíte používat Total Commander, jelikož v tom stačí mačknout Ctrl+šipku dolů, napsat cmd a stisknout Enter, a už jste doma.
  • Zkuste spustit kompilátor Javy – javac.exe. Prostě napište javac a entr. Pokud vám toto nejde, někde se stala chyba – zřejmě máte špatně systémovou proměnnou PATH. Opakuji, že nastavení pomocí set path=... platí do zavření konzole! Hodnotu PATH zkontrolujete pomocí příkazu set path. Pokud by se vám to nedařilo, můžete to zkusit ošmejdit přes .bat s příkazem
    `javac {cesta k javac.exe} %1 %2 %3 %4 %5 %6 %7 %8 %9`,

    který dáte do adresáře Windows. Když pak z jakéhokoliv adresáře spustíte příkaz javac, všechny parametry se předají kompilátoru javac.exe.

  • Mrkněte na výpis. Pokud vám dává smysl, zapamatujte si, co všechno můžete ovlivnit.
  • Přeložte zdroják příkazem javac Zdrojak.java . Pokud jste uspěli, máte soubor Zdrojak.class, který už obsahuje hotový „program“.

Jak spustit soubor s příponou .class

Máte soubor s příponou .class. Ten obsahuje tzv. „bajtový kód“ Javy.

Žádné .exe nečekejte – na to Java není dělaná. Neexistuje nic, co by z .class udělalo rozumně veliké nezávislé .exe (nezávislé = nepotřebuje nainstalovanou Javu). Jinak se můžete kouknout na JexePack a český referát o něm

Po instalaci současných JRE (je i součástí JDK) se soubory .jar spouštějí jako .exe. Soubory .class není příliš často třeba spouštět, ale můžete použít můj JavaLoader – pokud ho najdete :-)

Podívejme se, jak ze souboru .class dostat nějakou akci:

  • Pokud soubor .class nemáte ve stejném adresáři, ve kterém se nacházíte, V následujícím kroku zadejte parametr -classpath <cesta k .class> . Pokud byste to měli dělat často, pak do systémových proměnných přidejte proměnnou CLASSPATH a nastavte ji na onen adresář (kde je váš .class soubor).
  • Spusťte
    java [-classpath ...] <JménoTřídy>

    V našem případě to bude

    java [-classpath ...] Zdrojak

    Všimněte si a vtlučte si do hlavy, že jako parametr, co spustit, se nedává název souboru, ale jméno třídy!
    Podmínkou pro úspěšné spuštění je, že v adresáři, který je definovaný v systémové proměnné CLASSPATH
    nebo za parametrem -classpath, se musí vyskytovat soubor "JménoTřídy.class",
    a v něm musí být veřejná třída JménoTřídy a v ní statická veřejná metoda main
    nevracející nic a s parametrem typu pole Stringů, neboli:

    public class JménoTřídy { public static void main(String[]){...} }

    Tato metoda se spustí jako první. Je obdobou funkce int main(int argc, char* argv[])C++.

  •  –Tyto dva kroky vám odpadnou, pokud použijete můj JavaLoader.– Kdoví, kde je mu konec.

Běží? Gratuluji :-) Konzoli máte za sebou. Zbytek už je pure Java code.

Pro normální vývoj doporučují NetBeans IDE, případně jeho verzi pro začátečníky BlueJ Edition (tamtéž).

Kdyby tu něco bylo špatně, napište mi – ondra@dynawest.cz.


0