Varför konvertera CLASS till JAR?
Lösa .class-filer är obekväma att distribuera eller köra. En JAR samlar allt i en enda fil och, med en manifestpost, låter användare starta applikationen med java -jar istället för att hantera klassökvägar och enskilda klassfiler.
Hur man konverterar CLASS till JAR
jar (JDK) FREE
Navigera till mappen med dina .class-filer och kör jar cfe app.jar com.example.MainClass *.class för att skapa en körbar JAR. Utelämna flaggan e och main-class-argumentet för att skapa en biblioteks-JAR istället.
IntelliJ IDEA Community FREE
Gå till File > Project Structure > Artifacts, lägg till en JAR från moduler med beroenden, ställ in huvudklassen och kör Build > Build Artifacts.
Eclipse IDE FREE
Högerklicka på projektet, välj Export > Java > Runnable JAR file, välj startkonfigurationen, ställ in sökvägen och klicka på Finish.
Om dessa format
En CLASS-fil är kompilerad Java-bytecode - det resultat som javac producerar från en .java-källfil. För att köra den behöver du Java (ett JDK) installerat, använd sedan kommandot «java…
Öppna detaljer för .CLASS →En JAR-fil är ett Java Archive - ett ZIP-paket med kompilerad Java-bytecode (.class-filer), resurser och ett manifest. För att köra en körbar JAR behöver du ha Java installerat…
Öppna detaljer för .JAR →Kvalitet & vad man bör tänka på
- En JAR är ett ZIP-arkiv; byt namn på den till
.zipför att inspektera innehållet i valfri arkivhanterare. FilenMETA-INF/MANIFEST.MFstyr hur Java hanterar den. - Utan ett
Main-Class-attribut i manifestet misslyckasjava -jar app.jar- användjar cfe(intejar cf) för att ställa in startpunkten. - Bytekoden är oförändrad; paketering i en JAR är enbart arkivering och ändrar inte
.class-filerna.
Vanliga frågor
Behöver jag JRE eller JDK för att skapa en JAR?
jar levereras med JDK, inte JRE.Hur kontrollerar jag vad som finns inuti en befintlig JAR?
jar tf app.jar i en terminal, eller byt namn på .jar till .zip och öppna den i en arkivhanterare.Kan jag lägga till resursfiler (bilder, konfiguration) i min JAR?
.class-filerna i jar-kommandot, eller använd din IDE:s verktyg för att bygga artefakter för att inkludera dem.