Lekce 1 - Java kompilace a build v příkazovém řádku - Základy
Tento článek je napsán pro úplné začátečníky, tak abyste byli schopni vytvořit programy v Javě bez IDE (vývojového prostředí). Rozhodně vám IDE doporučuji, většinou jsou zdarma. Ale někdy, když se něco pokazí nebo je problém s IDE a teprve s jazykem začínáte, nebo něco děláte špatně, lze si tímto způsobem vytvořit program a zjistit kde je chyba (např. v JDK, IDE, apod..). Obsahem tohoto a podobných článků není cílem vysvětlovat syntaxi Javy a proto nečekejte vysvětlení Java příkazů (instrukcí). Cílem tohoto článku je vám předvést a ukázat, že programovat lze i bez IDE. Ovšem nedělá se to.
Označením build není myšleno to co znáte z nativních jazyků (kompilace + linking). Význam build v tomto článku je vytvoření archivního filu (souboru) projektu.
Nezaměňujte linking u nativních jazyků s Java 9 linking přes jlink pro vytváření runtime image.
Nastavení systémové proměnné PATH
Nejdříve samozřejmě musíme nainstalovat
Javu SE. Tím je myšlena instalace JDK (Java Developer Kit - Java
vývojový balíček) a JRE (Java Runtime Enviroment - Java běhové
prostředí). Program se vyvíjí v JDK a spouští v JRE. Ve Windows (v mém
případě ve Windows 10) si najdeme Ovládací panely a budeme postupovat takto
(nutné mít práva administrátora ve Windows): Ovládací panely –>
Systém –> Upřesnit nastavení systému –> Upřesnit –>
Prostředí proměnných –> vybereme PATH a zvolíme upravit –> a zde
vybereme Nový a vložíme umístění adresáře \bin
v Javě JDK
i JRE. V obou instalacích se nachází adresáře \bin\
, ve
kterých jsou různé nástroje. Poté je vhodné počítač restartovat.
Já si instaluji JDK do adresáře C:\Program Files\JavaJDK
a
JRE do C:\Program Files\JavaJRE
, ale vy je samozřejmě můžete
mít v jiném adresáři. Takže v mém případě je cesta
C:\Program Files\JavaJDK\bin
a
C:\Program Files\JavaJRE\bin
(viz. obrázek níže). Umístění
adresáře nehraje roli. U starších OS (Win8, 7, Vista, XP) je postup téměř
identický.
Proč nastavení systémové proměnné? Umožní nám to na příkazovém
řádku přístup k příkazům (programům) umístěných v
\JavaJDK\bin\
z jakéhokoliv cesty v cmd. V daném adresáři se
např. nachází javac
, což je kompilátor do byte kódu nebo
java
, což je spouštěč (launcher) Java programů.

Test instalace JDK a nastavení PATH lze provést v
příkazovém řádku příkazem java -version
. Vypíše vám to
verzi Javy, kterou máte nainstalovanou.
Instalace Javy, tzn. instalace JRE a JDK, je platná pouze pro
Javu 10,09,08,07 a nižší (starší). Od Java 11,12,13 se instaluje (příp.
kopíruje) pouze JDK. Nastavení PATH do adresáře \bin\
zůstává.
Hello world přes příkazový řádek bez balíčku
Nejdříve si spustíme příkazový řádek. V levém dolním rohu obrazovky
klikneme na tlačítko Start a objeví se kontextové menu. Vybereme si možnost
Spustit a do dialogu napíšeme příkaz cmd
a potvrdíme
Enter. Tím se nám spustí příkazový řádek (Command Prompt).
Samozřejmě tyto postupy by měly být platné a funkční i pro
Powershell.
Poté, co jsme si spustili příkazový řádek, v jakémkoliv adresáři
vytvoříme zdrojový soubor, kde bude uložen zdrojový kód (např.
ProgramJava.java). Ten můžete vytvořit a uložit buď přes Notepad, nebo
pokud chcete, řekneme si i jak to udělat přes příkazovou řádku. Za
pomocí příkazu md ProgramJava
vytvoříme adresář
ProgramJava
. Po provedení se do něj přesuneme přes příkaz
cd ProgramJava
.
D:\ └── ProgramJava └── ProgramJava.java
V adresáři poté vytvoříme zdrojový soubor přes příkaz
fsutil file createnew ProgramJava.java 0
. Dále provedeme úpravu
zdrojového souboru přes příkaz notepad ProgramJava.java
, soubor
uložíme a Notepad ukončíme.
public class ProgramJava { public static void main (String [] args) { System.out.println("Ahoj program z Javy "); } }

Jako další krok provedeme kompilaci zdrojového kódu do bytekódu. Toho
opět docílíme přes příkazový řádek příkazem
javac ProgramJava.java
. Kompilací vznikne soubor
ProgramJava.class
.
D:\ └── ProgramJava ├── ProgramJava.class └── ProgramJava.java
Nyní nám zbývá jen daný zdroják spustit pres spouštěč (launcher).
Toho docílíme příkazem java ProgramJava
nebo příkazem
java -cp . ProgramJava
. Jak vidíte vše funguje. Všechny *.class
soubory se dají dekompilovat přes
JDK nebo dekompilovat přes další
programy a tudíž prohlédnout zdrojové kódy.

Vytvoření spustitelného jar souboru
Java disponuje spustitelným souborem typu *.jar. Je to obdoba *.exe (.com, apod..) od nativních jazyků pod Windows. Jedná se o tvz. zbuildovaný projekt. Java disponuje celkem třemi typy zbuildovaných projektů. Říká se jim archive file (archivní soubory).
- .jar - Jar archive (pro standardní SE, EE aplikace + slouží i jako knihovny příp. frameworky)
- .war - Web archive (pro EE webové aplikace, může v sobě obsahovat více *.jar archivů)
- .ear - Enterprise archive (pro EE projekty, může v sobě obsahovat více *.jar a *.war archivů)
Jen *.jar je samospustitelný pod JRE. Bez nainstalování JRE nelze spustit *.jar. Ke spuštění ostatních jsou zapotřebí aplikační servery (např. Tomcat, WebLogic, JBoss,GlassFish, Payara, WildFly apod..).
Všechny archivy jsou kompatibilní se zip soubory. To znamená, že lze změnit koncovku na *.zip a daný projekt můžete rozbalit (extrahovat). Zobrazí se vám zkompilované soubory a jiné další adresáře s daty použité v aplikaci (např. obrázky *.jpg, *.gif, *.xml, apod..).
Jako první krok si vytvoříme soubor manifestu. Jedná se pomocný
konfigurační soubor pro spuštění a buildování. V adresáři vytvoříme
zdrojový soubor přes příkaz
fsutil file createnew manifest.man 0
.
D:\ └── ProgramJava ├── manifest.man ├── ProgramJava.class └── ProgramJava.java
Dále provedeme úpravu zdrojového souboru přes příkaz
notepad manifest.man
, soubor uložíme a notepad ukončíme.
Manifest-Version: 1.0 Main-Class: ProgramJava Created-By: 1.8.0_144 (Oracle Corporation)

Nyní tedy provedeme build neboli vytvoříme *.jar soubor. Spustíme
příkaz jar cmf manifest.man Program.jar *.class
. Jak vidíte,
vytvořili jsme Program.jar
. No a nyní si daný program spustíme.
Protože je program konzolový, je nutné jej logicky spustit z příkazového
řádku. Samozřejmě .jar lze spustit i dvojklikem na ploše, ale nic
neuvidíte.
D:\ └── ProgramJava ├── manifest.man ├── Program.jar ├── ProgramJava.class └── ProgramJava.java
Spuštění přes příkazový řádek provedeme buď jako
java -jar Program.jar
nebo jako
java -cp Program.jar ProgramJava
.

V další lekci, Java kompilace a build v příkazovém řádku - GUI, balíček, si ukážeme tvorbu Java aplikace, která bude mít výstup do GUI.
Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 27x (1.58 kB)
Aplikace je včetně zdrojových kódů v jazyce Java