Hvorfor konvertere CLASS til JAR?
Løse .class-filer er besværlige at distribuere eller køre. En JAR samler alt i en enkelt fil og lader, med en manifest-indgang, brugere starte applikationen med java -jar i stedet for at administrere classpaths og individuelle class-filer.
Sådan konverterer du CLASS til JAR
jar (JDK) FREE
Naviger til mappen med dine .class-filer og kør jar cfe app.jar com.example.MainClass *.class for at oprette en kørbar JAR. Udelad e-flaget og main-class-argumentet for at oprette en biblioteks-JAR i stedet.
IntelliJ IDEA Community FREE
Gå til File > Project Structure > Artifacts, tilføj en JAR fra moduler med afhængigheder, indstil main-klassen, og kør Build > Build Artifacts.
Eclipse IDE FREE
Højreklik på projektet, vælg Export > Java > Runnable JAR file, vælg startkonfigurationen, indstil outputstien, og klik på Finish.
Om disse formater
En CLASS-fil er kompileret Java-bytecode - det output, som javac producerer fra en .java-kildefil. For at køre den skal du have Java (et JDK) installeret og derefter bruge kommandoen «java…
Åbn .CLASS detaljer →En JAR-fil er et Java Archive - en ZIP-pakke med kompilerede Java-bytecodes (.class-filer), ressourcer og et manifest. For at køre en eksekverbar JAR skal du have Java installeret…
Åbn .JAR detaljer →Kvalitet & hvad man skal være opmærksom på
- En JAR er et ZIP-arkiv; omdøb den til
.zipfor at inspicere indholdet i en hvilken som helst arkivmanager. FilenMETA-INF/MANIFEST.MFstyrer, hvordan Java håndterer den. - Uden en
Main-Class-attribut i manifestet fejlerjava -jar app.jar- brugjar cfe(ikkejar cf) til at angive startpunktet. - Bytecoden er uændret; pakning i en JAR er ren arkivering og ændrer ikke
.class-filerne.
Ofte stillede spørgsmål
Skal jeg bruge JRE eller JDK for at oprette en JAR?
jar-kommandoen følger med JDK, ikke JRE.Hvordan tjekker jeg, hvad der er indeni en eksisterende JAR?
jar tf app.jar i en terminal, eller omdøb .jar til .zip og åbn den i en arkivmanager.Kan jeg tilføje ressourcefiler (billeder, konfiguration) til min JAR?
.class-filerne i jar-kommandoen, eller brug din IDE's artifact-builder til at inkludere dem.