IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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ů.

Nastavení Java PATH - Kompilace manuálně v Javě

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 ");
    }
}
Zdrojový kód programu Java v příkazovém řádku - Kompilace manuálně v Javě

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.

Kompilace Java aplikace v příkazovém řádku - Kompilace manuálně v Javě

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)
Manifest pro Java aplikaci - Kompilace manuálně v Javě

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.

Spuštění konzolové Java aplikace přes příkazovou řádku - Kompilace manuálně v Javě

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 23x (1.58 kB)
Aplikace je včetně zdrojových kódů v jazyce Java

 

Všechny články v sekci
Kompilace manuálně v Javě
Přeskočit článek
(nedoporučujeme)
Java kompilace a build v příkazovém řádku - GUI, balíček
Článek pro vás napsal Robert Michalovič
Avatar
Uživatelské hodnocení:
13 hlasů
Programuji převážně v Javě SE,EE a trochu nativním C a CUDA. více viz.https://cz.linkedin.com/in/robert-michalovic
Aktivity