Sestavení a spuštění programu bez integrovaného vývojového prostředí

Základní životní cyklus javového programu

  • Program sestává z jedné (ale obvykle více) tříd (class).

  • Ukážeme na příkladu třídy s názvem NazevTridy :

  • Zdrojový kód každé (veřejně přístupné, public ) třídy je umístěn v jednom souboru (NazevTridy.java)

Postup:

  • vytvoření zdrojového textu (libovolným editorem čistého textu)

  • překlad (nástrojem javac )

  • spuštění

Příklad:

  • překládá se javac NazevTridy.java (název souboru se třídou včetně přípony .java !!!)

  • spouští se vždy udáním java NazevTridy (název třídy bez přípony .class !!!)

Demo "Ahoj!"

  • Půjde o podobný jednoduchý demoprogram, jaký jsme spouštěli v BlueJ pod názvem Hello .

  • Dále uvedený postup (cesty v souborovém systému, spouštění programů z příkazové řádky apod. odpovídá systémům Windows.

  • Pro Linux a Mac OS X nutné mírně modifikovat (odlišné uvádění cest v souborovém systému apod.). Princip je ale v každém případě shodný.

  • Zdrojový kód bude vypadat takto:

    public class Hello {
       // Program spouštíme aktivací funkce "main"
       public static void main(String[] args) {
          System.out.println("Ahoj!");
       }
    }

Zdrojový kód (tj. Hello.java) bude umístěn do našeho pracovního adresáře, tj. např. c:\devel\pb162.

Překlad "Ahoj!"

  • Máme nainstalován Java SDK 6, 7 nebo 8

  • Jsme v adresáři c:\devel\pb162 , v něm je soubor Hello.java

  • Spustíme překlad javac Hello.java

  • Je-li program správně napsán, přeloží se "mlčky"

  • (výsledný .class soubor bude v témže adresáři jako zdroj)

Spuštění "Ahoj!"

  • Poté spustíme program Hello: java -classpath . Hello

  • Volba překladače -classpath zajistí, že (dříve přeložené) třídy používané při spuštění této třídy budou přístupné pod adresářem _ _ .

  • -classpath . tedy značí, že třídy (soubory .class ) se budou hledat v odpovídajících podadresářích aktuálního adresáře (adresáře . )

  • Je-li program správně napsán a přeložen, vypíše se Ahoj!

Vytvoření zdrojového textu "Ahoj!" ("for dummies")

Vytvoření a editace zdrojového kódu v editoru PSPad (dostupný zdarma, instalovaný na všech Win strojích v učebnách na FI):

Zdrojový kód

Překlad "Ahoj!" ("for dummies")

Překlad překladačem javac (úspěšný, bez hlášení překladače):

Překlad

Spuštění "Ahoj!" ("for dummies")

Spuštění voláním java:

Spuštění

Co znamená spustit program?

  • Nejběžnější spuštění javového programu spočívá ve spuštění metody main:

  • Metoda může mít parametry typu String (řetězec), které se

  • předávají při spuštění z příkazového řádku do pole String[] args

  • Metoda main musí být static a nevrací žádnou hodnotu - návratový typ je vždy(!) void.

  • Její hlavička musí vypadat vždy přesně tak, jako ve výše uvedeném příkladu, jinak nebude spuštěna! (Jedinou možnou odchylkou je jiné pojmenování formálního parametru args.)

Praktické informace (aneb co je nutné udělat)

  • Cesty ke spustitelným programům (PATH) musejí obsahovat i adresář <JAVA_HOME>/bin

Praktické informace (aneb co je vhodné udělat)

  • Systémové proměnné by měly obsahovat:

  • JAVA_HOME=<kořenový adresář instalace Javy>, např. JAVA_HOME=c:\jdk6.0

  • Možné je nastavit i proměnnou CLASSPATH=<cesty ke třídám> (podobně jako v PATH jsou cesty ke spustitelným souborům), např. CLASSPATH=c:\devel\pb162