Hoe maak je een uitvoerbaar JAR-bestand?

Ik heb een programma dat bestaat uit twee eenvoudige Java Swing-bestanden.

Hoe maak ik een uitvoerbaar JAR-bestand voor mijn programma?


Antwoord 1, autoriteit 100%

Een jar-bestand is gewoon een bestand dat een verzameling java-bestanden bevat. Om een jar-bestand uitvoerbaar te maken, moet u specificeren waar de main-klasse zich in het jar-bestand bevindt. Voorbeeldcode zou als volgt zijn.

public class JarExample {
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                // your logic here
            }
        });
    }
}

Stel je lessen samen. Om een jar te maken, moet je ook een manifestbestand maken (MANIFEST.MF). Bijvoorbeeld,

Manifest-Version: 1.0
Main-Class: JarExample

Plaats de gecompileerde uitvoerklassebestanden (JarExample.class,JarExample$1.class) en het manifestbestand in dezelfde map. Ga in de opdrachtprompt naar de map waar uw bestanden zijn geplaatst en maak de jar met de jar-opdracht. Bijvoorbeeld (als u uw manifestbestand de naam jexample.mf geeft)

jar cfm jarexample.jar jexample.mf *.class

Het zal een uitvoerbaar bestand jarexample.jar maken.


Antwoord 2, autoriteit 40%

In Eclipsekun je het eenvoudig als volgt doen:

Klik met de rechtermuisknop op uw Java-project en selecteer Exporteren.

Selecteer Java -> Uit te voeren JAR-bestand-> Volgende.

Selecteer de Startconfiguratie en kies het projectbestand als uw Hoofdklasse

Selecteer de doelmap waar u deze wilt opslaan en klik op Voltooien.


Antwoord 3, autoriteit 20%

Hier is het in één regel:

jar cvfe myjar.jar package.MainClass *.class

waarbij MainClassde klasse is met uw mainmethode, en packagehet pakket van MainClassis.

Houd er rekening mee dat u uw .java-bestanden moet compileren naar .class-bestanden voordat u dit doet.

c  create new archive
v  generate verbose output on standard output
f  specify archive file name
e  specify application entry point for stand-alone application bundled into an executable jar file

Dit antwoord is geïnspireerd op de opmerking van Powerslave op een ander antwoord.


Antwoord 4, autoriteit 3%

Als u maven gebruikt, voegt u het volgende toe aan uw pom.xml-bestand:

<plugin>
    <!-- Build an executable JAR -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.path.to.YourMainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

Vervolgens kunt u mvn packageuitvoeren. Het jar-bestand bevindt zich onder in de map target.


Antwoord 5

Het is te laat om op deze vraag te antwoorden. Maar als iemand nu naar dit antwoord zoekt, heb ik het zonder fouten uitgevoerd.

Zorg er allereerst voor dat u maven aan paddownloadt en toevoegt. [ mvn --version] geeft je versiespecificaties ervan als je het pad correct hebt toegevoegd.

Voeg nu de volgende code toe aan het maven-project[ pom.xml] , vervang in de volgende code door uw eigen hoofdbestandsingangspunt voor bijvoorbeeld [ com.voorbeeld.test.Test].

     <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                    <mainClass>
            your_package_to_class_that_contains_main_file .MainFileName</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>

Ga nu naar de opdrachtregel [CMD] in uw project en typ mvn packageen het zal een jar-bestand genereren als iets als ProjectName-0.0.1-SNAPSHOT.jaronder targetdirectory.

Navigeer nu naar de targetdirectorydoor cd target.

Typ ten slotte java -jar jar-file-name.jaren ja, dit zou moeten werken als je geen fouten in je programma hebt.

Other episodes