Java kompilácie a build v príkazovom riadku - Základy
Tento článok je napísaný pre úplných začiatočníkov, tak aby ste boli schopní vytvoriť programy v Jave bez IDE (vývojového prostredia). Rozhodne vám IDE odporúčam, väčšinou sú zadarmo. Ale niekedy, keď sa niečo pokazí alebo je problém s IDE a až s jazykom začínate, alebo niečo robíte zle, možno si týmto spôsobom vytvoriť program a zistiť kde je chyba (napr. V JDK, IDE, apod ..). Obsahom tohto a podobných článkov nie je cieľom vysvetľovať syntax Javy a preto nečakajte vysvetlenie Java príkazov (inštrukcií). Cieľom tohto článku je vám predviesť a ukázať, že programovať možno aj bez IDE. Ovšem nerobí sa to.
Označením build nie je myslené to čo poznáte z natívnych jazykov (kompilácie + linking). Význam build v tomto článku je vytvorenie archívneho filu (súboru) projektu.
Nezamieňajte linking u natívnych jazykov s Java 9 linking cez jlink pre vytváranie runtime image.
Nastavenia systémovej premennej PATH
Najskôr samozrejme musíme nainštalovať
Javu SE. Tým je myslená inštalácia JDK (Java Developer Kit - Java
vývojový balík) a JRE (Java Runtime Enviroment - Java runtime prostredie).
Program sa vyvíja v JDK a spúšťa v JRE. Vo Windows (v mojom prípade vo
Windows 10) si nájdeme Ovládací panel a budeme postupovať takto (nutné mať
práva administrátora vo Windows): Ovládací panel -> Systém ->
Rozšírené nastavenia systému -> Rozšírené -> Prostredie premenných
-> vyberieme PATH a zvolíme upraviť -> a tu vyberieme Nový a vložíme
umiestnenie adresára \bin
v Jave JDK i JRE. V oboch
inštaláciách sa nachádza adresára \bin\
, v ktorých sú rôzne
nástroje. Potom je vhodné počítač reštartovať.
Ja si nainštalujem JDK do adresára C:\Program Files\JavaJDK
a
JRE do C:\Program Files\JavaJRE
, ale vy ich samozrejme môžete
mať v inom adresári. Takže v mojom prípade je cesta
C:\Program Files\JavaJDK\bin
a
C:\Program Files\JavaJRE\bin
(viď. Obrázok nižšie). Umiestnenie
adresára nehrá rolu. U starších OS (Win8, 7, Vista, XP) je postup takmer
identický.
Prečo nastavenie systémové premenné? Umožní nám to na príkazovom
riadku prístup k príkazom (programom) umiestnených v
\JavaJDK\bin\
z akéhokoľvek cesty v cmd. V danom adresári sa
napr. Nachádza javac
, čo je kompilátor do byte kódu alebo
java
, čo je spúšťač (launcher) Java programov.
Test inštalácie JDK a nastavenie PATH možno vykonať v
príkazovom riadku príkazom java -version
. Vypíše vám to verziu
Javy, ktorú máte nainštalovanú.
Inštalácia Javy, tzn. inštalácie JRE a JDK, je platná len
pre Javu 10,09,08,07 a nižšie (starší). Od Java 11,12,13 sa inštaluje
(príp. Kopíruje) iba JDK. Nastavenie PATH do adresára \bin\
zostáva.
Hello world cez príkazový riadok bez balíčka
Najskôr si spustíme príkazový riadok. V ľavom dolnom rohu obrazovky
klikneme na tlačidlo Štart a objaví sa kontextové menu. Vyberieme si
možnosť Spustiť a do dialógu napíšeme príkaz cmd
a
potvrdíme Enter. Tým sa nám spustí príkazový riadok (Command
Prompt). Samozrejme tieto postupy by mali byť platné a funkčný aj pre
Powershell.
Potom, čo sme si spustili príkazový riadok, v akomkoľvek adresári
vytvoríme zdrojový súbor, kde bude uložený zdrojový kód (napr.
ProgramJava.java). Ten môžete vytvoriť a uložiť buď cez Notepad, alebo ak
chcete, povieme si aj ako to urobiť cez príkazový riadok. Za pomocou príkazu
md ProgramJava
vytvoríme adresár ProgramJava
. Po
vykonaní sa doň presunieme cez príkaz cd ProgramJava
.
D:\ └── ProgramJava └── ProgramJava.java
V adresári potom vytvoríme zdrojový súbor cez príkaz
fsutil file createnew ProgramJava.java 0
. Ďalej vykonáme úpravu
zdrojového súboru cez príkaz notepad ProgramJava.java
, súbor
uložíme a Notepad ukončíme.
public class ProgramJava { public static void main (String [] args) { System.out.println("Ahoj program z Javy "); } }
Ako ďalší krok vykonáme kompiláciu zdrojového kódu do bytekódu. Toho
opäť docielime cez príkazový riadok príkazom
javac ProgramJava.java
. Kompiláciou vznikne súbor
ProgramJava.class
.
D:\ └── ProgramJava ├── ProgramJava.class └── ProgramJava.java
Teraz nám ostáva len daný zobraz zdroj spustiť pres spúšťač
(launcher). To docielime príkazom java ProgramJava
. Ako vidíte
všetko funguje. Všetky * .class súbory sa dajú dekompilovať cez
JDK alebo dekompilovať cez ďalšie
programy a teda pozrieť zdrojové kódy.
Vytvorenie spustiteľného jar súboru
Java disponuje spustiteľným súborom typu * .jar. Je to obdoba * .exe (.com, apod ..) od natívnych jazykov pod Windows. Jedná sa o tvz. zbuildovaný projekt. Java disponuje celkom tromi typmi zbuildovaných projektov. Hovorí sa im archive file (archívne súbory).
- .jar - Jar archive (pre štandardné SE, EE aplikácie + slúži aj ako knižnice príp. frameworky)
- .war - Web archive (pre EE webové aplikácie, môže v sebe obsahovať viac * .jar archívov)
- .ear - Enterprise archive (pre EE projekty, môže v sebe obsahovať viac * .jar a * .war archívov)
Len * .jar je samospustiteľný pod JRE. Bez nainštalovaní JRE nemožno spustiť * .jar. K spusteniu ostatných sú potrebné aplikačné servery (napr. Tomcat, WebLogic, JBoss, GlassFish, Payara, WildFly apod ..).
Všetky archívy sú kompatibilné so zips súbory. To znamená, že možno zmeniť koncovku na * .zip a daný projekt môžete rozbaliť (extrahovať). Zobrazí sa vám skompilované súbory a iné ďalšie adresáre s dátami použité v aplikácii (napr. Obrázky * .jpg, * .gif, * .xml, apod ..).
Ako prvý krok si vytvoríme súbor manifestu. Jedná sa pomocný
konfiguračný súbor pre spustenie a buildování. V adresári vytvoríme
zdrojový súbor cez príkaz
fsutil file createnew manifest.man 0
.
D:\ └── ProgramJava ├── manifest.man ├── ProgramJava.class └── ProgramJava.java
Ďalej vykonáme úpravu zdrojového súboru cez príkaz
notepad manifest.man
, súbor uložíme a notepad ukončíme.
Manifest-Version: 1.0 Main-Class: ProgramJava Created-By: 1.8.0_144 (Oracle Corporation)
Teraz teda prevedieme build čiže vytvoríme * .jar súbor. Spustíme
príkaz jar cmf manifest.man Program.jar *.class
. Ako vidíte,
vytvorili sme Program.jar
. No a teraz si daný program spustíme.
Pretože je program konzolový, je nutné ho logicky spustiť z príkazového
riadku. Samozrejme .jar možné spustiť aj dvojklikom na ploche, ale nič
neuvidíte.
D:\ └── ProgramJava ├── manifest.man ├── Program.jar ├── ProgramJava.class └── ProgramJava.java
Spustenie cez príkazový riadok vykonáme buď ako
java -jar Program.jar
alebo ako
java -cp Program.jar ProgramJava
.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 25x (1.58 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java