Waarom CLASS naar JAR converteren?
Losse .class-bestanden zijn onhandig om te distribueren of uit te voeren. Een JAR bundelt alles in één bestand en, met een manifest-vermelding, kunnen gebruikers de applicatie starten met java -jar in plaats van classpaths en individuele class-bestanden te beheren.
Hoe CLASS naar JAR te converteren
jar (JDK) FREE
Navigeer naar de map met uw .class-bestanden en voer jar cfe app.jar com.example.MainClass *.class uit om een uitvoerbare JAR te maken. Laat de e-vlag en het main-class argument weg om in plaats daarvan een bibliotheek-JAR te maken.
IntelliJ IDEA Community FREE
Ga naar File > Project Structure > Artifacts, voeg een JAR toe vanuit modules met afhankelijkheden, stel de main class in en voer Build > Build Artifacts uit.
Eclipse IDE FREE
Klik met de rechtermuisknop op het project, kies Export > Java > Runnable JAR file, selecteer de startconfiguratie, stel het uitvoerpad in en klik op Finish.
Over deze formaten
Een CLASS-bestand is gecompileerde Java-bytecode - de uitvoer die javac produceert van een .java-bronbestand. Om het uit te voeren heb je Java (een JDK) geïnstalleerd nodig, gebruik daarna…
Open .CLASS details →Een JAR-bestand is een Java Archive - een ZIP-bundel van gecompileerde Java-bytecode (.class-bestanden), bronnen en een manifest. Om een uitvoerbaar JAR-bestand te draaien heb je Java nodig…
Open .JAR details →Kwaliteit & waar op te letten
- Een JAR is een ZIP-archief; hernoem het naar
.zipom de inhoud in een archiefbeheerder te inspecteren. Het bestandMETA-INF/MANIFEST.MFbepaalt hoe Java ermee omgaat. - Zonder een
Main-Class-attribuut in het manifest misluktjava -jar app.jar- gebruikjar cfe(nietjar cf) om het startpunt in te stellen. - De bytecode is ongewijzigd; verpakken in een JAR is puur archiveren en verandert de
.class-bestanden niet.
Veelgestelde vragen
Heb ik de JRE of de JDK nodig om een JAR te maken?
jar-commando wordt geleverd bij de JDK, niet bij de JRE.Hoe controleer ik wat er in een bestaande JAR zit?
jar tf app.jar uit in een terminal, of hernoem de .jar naar .zip en open deze in een archiefbeheerder.Kan ik bronbestanden (afbeeldingen, configuratie) toevoegen aan de JAR?
.class-bestanden in het jar-commando, of gebruik de artifact builder van uw IDE om ze op te nemen.