Hvad omfatter et build i Java?


Udgivet:

Opdateret:


Artikler › Hvad omfatter et build i Java?

Status i 2026 og sikker brug

Konklusion: En Java-build omdanner kildekode og ressourcer til en testet artefakt, der kan køres eller udrulles. Kompilering er kun ét trin; løsning af afhængigheder, test, pakning, verificering og udgivelse er selvstændige trin, som et buildværktøj kan koordinere.

Det lærer du

  • Forskellen mellem at kompilere en .java-fil og at producere en komplet applikationsartefakt.
  • Hvordan klassestier, tests, JAR'er, WAR'er, Maven og Gradle passer sammen.
  • Hvilke dele af den oprindelige forklaring der er begrebsorienterede frem for en nutidig buildvejledning.

Målgruppe: Begyndere, der ser "build", "compile" og "package" brugt, som om de var udskiftelige.

Aktuel status i 2026: Grundbegreberne er uændrede. Brug en reproducerbar buildproces og en understøttet JDK, angiv plugin-versioner eksplicit, og kør test i CI i stedet for kun at stole på IDE'ens build.

Sikkerhedsbemærkning: Kommandoerne og konfigurationseksemplerne i den oprindelige artikel er ikke kørt igen i et aktuelt produktionsmiljø. Kontrollér understøttede versioner, tag backup, og forbered en rollback i et separat testmiljø før ændringerne anvendes.

Officielle kilder

Oversigt

I Java er kompilering og build ikke det samme. Kompilering oversætter kildekoden til bytecode, mens et build også håndterer afhængigheder, test, ressourcer og pakning.

Indholdsfortegnelse

  1. Hvad omfatter et build i Java?
  2. Opsummering

1. Hvad omfatter et build i Java?

Et Java-build gør kildekode og ressourcer klar til kørsel eller deployment. Det korte eksempel nedenfor er en kildefil, som først skal kompileres.

HelloWorld.java


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

HelloWorld.java er den fil, udvikleren redigerer. Compileren javac oversætter den til HelloWorld.class, som indeholder bytecode til JVM'en. Hvis kildefilen ændres uden en ny kompilering, bruger programmet fortsat den gamle class-fil.

Kompilering er kun én del af et build. Et almindeligt projekt omfatter også afhængigheder, test, ressourcer, validering og pakning som JAR eller WAR.

1-1. Hvorfor er et build nødvendigt?

Et reproducerbart build kører de samme trin med de samme værktøjsversioner. Resultatet afhænger derfor ikke af manuelle handlinger i en IDE og kan kontrolleres i CI.

1-2. Kompilering og build

Kompilering oversætter .java-filer til .class-filer. Et build har et bredere ansvar:

  • opløser afhængigheder og forbereder classpath;
  • kompilerer produktions- og testkode og kører testene;
  • behandler ressourcer og opretter et artefakt til distribution, for eksempel JAR eller WAR.

3. Opsummering

  • javac kompilerer kildekoden til bytecode i .class-filer.
  • Et build omfatter mere end kompilering: afhængigheder, test, ressourcer og pakning.
  • Værktøjer som Maven og Gradle gør resultatet reproducerbart på tværs af miljøer.

Det opsummerer de vigtigste trin og begrænsninger.