A JVM nem tudja közvetlenül futtatni az Ön által írt kódot. Csak a bájtkóddal írt programokat tudja végrehajtani. A bájtkód egy alacsony szintű nyelv, amely közel áll a gépi kódhoz.
Java esetében a fordítás egy Java nyelven írt (magas szintű) program fordítása ugyanarra a bájtkóddal írt programra.
A kód egy .java fájlban kerül átadásra a fordítónak. Ha a fordító nem talál hibát a kódban, akkor egy új bájtkódfájlt kap vissza. Ennek a fájlnak ugyanaz lesz a neve, de más a kiterjesztése: .class . Ha hibák vannak a kódban, akkor a fordító azt fogja mondani, hogy "a program nem fordította le". Ezután minden hibaüzenetet el kell olvasnia, és ki kell javítania a hibákat.

A javac paranccsal hívhatja meg a fordítót, amely a JDK (Java Development Kit) része. Ez azt jelenti, hogy ha csak a JRE-t (Java Runtime Environment) telepíti, akkor nem lesz fordítója! Csak a JVM lesz, amely csak bájtkódot tud futtatni. Tehát telepítjük a JDK-t, és átadjuk a .java fájlunkat a fordítónak.
Például vegyünk egy egyszerű programot konzolkimenettel:
class MySolution {
public static void main(String[] args) {
System.out.println("Hi, command line!");
}
}
Mentsük el ezt a kódot a D:/temp/MySolution.java fájlba .
Fordítsuk le a kódunkat a paranccsal
D:\temp>javac MySolution.java
Ha nincs fordítási hiba a kódban, egy MySolution.class fájl jelenik meg a temp mappában. Ráadásul a kódját tartalmazó MySolution.java fájl nem megy sehova. Ugyanott marad, ahol volt. De most a MySolution.class bájtkódot tartalmaz, és készen áll a JVM általi közvetlen futtatásra.
Példánk a lehető legegyszerűbb, de még a legnagyobb és legösszetettebb projektek is használják a javac parancsot. Tehát nagyon hasznos lesz, ha megtudja, hogyan működik.
Egyszerre több osztályt is összeállíthat. Tegyük fel például, hogy van egy másik Cat.java fájl a temp mappában:
D:\temp>javac MySolution.java Cat.java
vagy ez:
D:\temp>javac *.java
A .class fájlok összeállítás után egy jar fájlba csomagolhatók , amely kényelmesen áthelyezhető különböző számítógépekre, majd futtatható rajtuk. Íme egy példa a jar fájl létrehozására :
D:\temp>jar cvfe myjar.jar MySolution MySolution.class Cat.class
ahol:
-
A jar a .jar fájlok létrehozására szolgáló parancs , amely a JDK-ban található
-
A cvfe parancssori opciók a következő jelentéssel:
-
c – új jar fájl létrehozása
-
v – részletes információk megjelenítése
-
f – azt jelzi, hogy szeretnénk, ha az eszköz kimenete egy fájlba ( myjar.jar ) kerülne.
-
e – a belépési pontot ( MySolution ), vagyis azt az osztályt jelöli, amely a fő metódust tartalmazza
-
-
MySolution.java Cat.class – a jar fájlba csomagolt fájlok szóközzel elválasztott nevei .
Így futtatjuk az eredményül kapott jar fájlt:
D:\temp>java -jar myjar.jar
Részletesebb információkért: |
---|
A javac és jar eszközök beépített súgóval rendelkeznek. Megjelenítéséhez futtassa a következőt a parancssorban:
|
GO TO FULL VERSION