Hvorfor konvertere CLASS til JAR?
Løse .class-filer er upraktiske å distribuere eller kjøre. En JAR samler alt i én enkelt fil og, med en manifest-oppføring, lar brukere starte applikasjonen med java -jar i stedet for å administrere classpaths og individuelle klassefiler.
Hvordan konvertere CLASS til JAR
jar (JDK) FREE
Naviger til mappen med dine .class-filer og kjør jar cfe app.jar com.example.MainClass *.class for å lage en kjørbar JAR. Utelat e-flagget og main-class-argumentet for å lage en biblioteks-JAR i stedet.
IntelliJ IDEA Community FREE
Gå til File > Project Structure > Artifacts, legg til en JAR fra moduler med avhengigheter, sett hovedklassen, og kjør Build > Build Artifacts.
Eclipse IDE FREE
Høyreklikk på prosjektet, velg Export > Java > Runnable JAR file, velg startkonfigurasjonen, sett utgangsstien, og klikk Finish.
Om disse formatene
En CLASS-fil er kompilert Java-bytecode - resultatet javac produserer fra en .java-kildefil. For å kjøre den trenger du Java (en JDK) installert, og deretter bruke kommandoen «java…
Åpne .CLASS-detaljer →En JAR-fil er et Java-arkiv - en ZIP-pakke med kompilert Java-bytekode (.class-filer), ressurser og et manifest. For å kjøre en kjørbar JAR-fil må du ha Java installert (OpenJDK/Temurin er…
Åpne .JAR-detaljer →Kvalitet og hva du bør passe på
- En JAR er et ZIP-arkiv; gi den nytt navn til
.zipfor å inspisere innholdet i et hvilket som helst arkivprogram.META-INF/MANIFEST.MF-filen styrer hvordan Java håndterer den. - Uten et
Main-Class-attributt i manifestet viljava -jar app.jarfeile - brukjar cfe(ikkejar cf) for å angi startpunktet. - Bytekoden er uendret; pakking i en JAR er ren arkivering og endrer ikke
.class-filene.
Ofte stilte spørsmål
Trenger jeg JRE eller JDK for å lage en JAR?
jar-kommandoen følger med JDK, ikke JRE.Hvordan sjekker jeg hva som er inni en eksisterende JAR?
jar tf app.jar i en terminal, eller gi .jar-filen nytt navn til .zip og åpne den i et arkivprogram.Kan jeg legge til ressursfiler (bilder, konfigurasjon) i en JAR?
.class-filene i jar-kommandoen, eller bruk din IDEs «artifact builder» for å inkludere dem.