IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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.

Nastavenie Java PATH - Java - Pre pokročilých

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 ");
    }
}
Zdrojový kód programu Java v príkazovom riadku - Java - Pre pokročilých

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.

Kompilácie Java aplikácie v príkazovom riadku - Java - Pre pokročilých

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)
Manifest pre Java aplikáciu - Java - Pre pokročilých

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.

Spustenie konzolové Java aplikácie cez príkazový riadok - Java - Pre pokročilých

 

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

 

Všetky články v sekcii
Java - Pre pokročilých
Článok pre vás napísal Robert Michalovič
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
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