Mit jelent a „build” a Java-ban? fordítás, tesztelés, csomagolás és futtatás


Közzétéve:

Frissítve:


Cikkek › Mit jelent a „build” a Java-ban? fordítás, tesztelés, csomagolás és futtatás

A 2026-os helyzet és biztonságos használat

Következtetés: A Java-build a forráskódot és az erőforrásokat tesztelt, futtatható vagy telepíthető artefaktummá alakítja. A fordítás csak egy szakasz; a függőségek feloldása, a tesztelés, a csomagolás, az ellenőrzés és a közzététel külön lépések, amelyeket egy buildeszköz hangol össze.

Amit megtudhat

  • A különbség egy .java fájl fordítása és egy teljes alkalmazás-artefaktum létrehozása között.
  • Hogyan illeszkednek egymáshoz az osztályútvonalak, a tesztek, a JAR-ok, a WAR-ok, a Maven és a Gradle.
  • Az eredeti magyarázat mely részei inkább fogalmiak, semmint jelenlegi összeállítási receptek.

Kinek szól: Kezdőknek, akik úgy látják, hogy a „build”, „compile” és „package” kifejezéseket úgy használják, mintha felcserélhetők lennének.

Aktuális helyzet 2026-ban: Az alapfogalmak változatlanok. Használjon reprodukálható buildet és támogatott JDK-t, rögzítse a pluginverziókat, és futtassa a teszteket CI-ben ahelyett, hogy kizárólag az IDE buildjére hagyatkozna.

Biztonsági megjegyzés: Az eredeti cikk parancsait és konfigurációs példáit nem futtattuk újra modern éles környezetben. Alkalmazás előtt ellenőrizze a támogatott verziókat, készítsen biztonsági másolatot, és külön tesztkörnyezetben készítse elő a visszaállítást.

Hivatalos források

Áttekintés

A Java esetében a fordítás és a build nem ugyanaz. A fordítás a forráskódot bytecode-dá alakítja, a build pedig ezen felül a függőségeket, a teszteket, az erőforrásokat és a csomagolást is kezeli.

Tartalomjegyzék

  1. Mit tartalmaz egy Java-build?
  2. Összefoglalás

1. Mit tartalmaz egy Java-build?

A Java-build futtatásra vagy deploymentre készíti elő a forráskódot és az erőforrásokat. Az alábbi rövid példa egy forrásfájl, amelyet előbb le kell fordítani.

HelloWorld.java


public class HelloWorld{
   public static void main(String[] args){
     System.out.println("Hello World!!");
   }
}

A HelloWorld.java a fejlesztő által szerkesztett fájl. A javac fordító ezt a JVM számára bytecode-ot tartalmazó HelloWorld.class fájllá alakítja. Ha a forráskód módosítása után nem történik új fordítás, az alkalmazás továbbra is a régi class-fájlt használja.

A fordítás csak a build egyik része. Egy valós projekt a függőségeket, a teszteket, az erőforrásokat, az ellenőrzéseket és a JAR- vagy WAR-csomagolást is kezeli.

1-1. Miért van szükség buildre?

A reprodukálható build ugyanazokat a lépéseket futtatja ugyanazokkal az eszközverziókkal. Az eredmény így nem függ az IDE-ben végzett kézi műveletektől, és CI-ben is ellenőrizhető.

1-2. Fordítás és build

A fordítás a .java fájlokat .class fájlokká alakítja. A build ennél szélesebb feladatkört fed le:

  • feloldja a függőségeket és előkészíti a classpathot;
  • lefordítja az alkalmazás- és tesztkódot, majd futtatja a teszteket;
  • feldolgozza az erőforrásokat, és terjeszthető artefaktumot, például JAR- vagy WAR-fájlt készít.

3. Összefoglalás

  • A javac a forráskódot .class fájlokban tárolt bytecode-dá fordítja.
  • A build a fordításon túl a függőségeket, a teszteket, az erőforrásokat és a csomagolást is kezeli.
  • A Mavenhez és a Gradle-höz hasonló eszközök megismételhető eredményt biztosítanak a különböző környezetekben.

Ezek a legfontosabb figyelembe veendő lépések és korlátozások.