Java maakt .jar-bestand

Ik ben Java aan het leren en ik heb een probleem. Ik heb 6 verschillende klassen gemaakt, elk heeft zijn eigen main()methode. Ik wil uitvoerbare .jarmaken voor elke klasse, dat wil zeggen 6 uitvoerbare .jar-bestanden.

Tot nu toe heb ik geprobeerd

java -jar cf myJar.jar myClass.class

en ik krijg ‘Kan jarfile cf niet openen’. Ik doe iets fout maar ik weet niet wat. Ik gebruik ook Eclipse IDE als dat iets betekent.


Antwoord 1, autoriteit 100%

Om een .jar-bestand te maken, moet u jargebruiken in plaats van java:

jar cf myJar.jar myClass.class

Bovendien, als u het uitvoerbaar wilt maken, moet u een invoerpuntaangeven (dwz een klasse met public static void main(String[] args)) voor uw aanvraag. Dit wordt meestal bereikt door een manifest-bestand te maken met de Main-Classkoptekst (bijv. Main-Class: myClass).

Maar zoals Mark Peters al aangaf, kun je met JDK 6 de optie egebruiken om het ingangspunt te definiëren:

jar cfe myJar.jar myClass myClass.class 

Ten slotte kunt u het uitvoeren:

java -jar myJar.jar

Zie ook


Antwoord 2, Autoriteit 13%

Sinus die je hebt vermeld die je Eclipse gebruikt … Eclipse kan de potten voor je maken, zolang je elke klasse hebt uitgevoerd met eenmaal. Klik met de rechtermuisknop op het project en klik op Exporteren en selecteer vervolgens “Runnable JAR-bestand” onder de Java-map. Selecteer de klasnaam in de startconfiguratie, kies een plaats om de pot op te slaan en neem een ​​beslissing om bibliotheken indien nodig aan te pakken. Klik op Voltooien, Handen op de broek wissen.


Antwoord 3, Autoriteit 8%

Vaak moet je meer in het manifest plaatsen dan wat je krijgt met de -e-schakelaar, en in dat geval is de syntaxis:

jar -cvfm myJar.jar myManifest.txt myApp.class

die luidt: “Maak uitgebreide jarfilneName manifestfileName”, gevolgd door de bestanden die u wilt opnemen.

Merk op dat de naam van het manifestbestand dat u levert, alles kan zijn, als jarzal het automatisch hernoemen en in het JAR-bestand op de juiste plaats worden geplaatst.


Antwoord 4, Autoriteit 5%

Way 1:

Laat we Java File Test.java hebben die Hoofdklasse Testa bevat
Nu compileren we ons Java-bestand eenvoudigweg als Javac Test.java
We maken bestand manifest.txt in dezelfde map en we schrijven hoofdklasse: mainclassname. b.v:

 Main-Class: testa

Dan maken we JAR-bestand door deze opdracht:

 jar cvfm anyname.jar manifest.txt testa.class

Dan uitvoeren we JAR-bestand door deze opdracht: java -jar anyname.jar

Way 2:

Laten we één pakket hebben met de naam één en elke klasse zit erin.
dan maken we een jar-bestand met dit commando:

 jar cf anyname.jar one

vervolgens openen we manifest.txt in de map META-INF in het bestand anyname.jar en schrijven

 Main-Class: one.mainclassname 

in de derde regel., dan voeren we het jar-bestand uit met dit commando:

 java -jar anyname.jar

om een jar-bestand te maken met meer dan één klassenbestand: jar cf anyname.jar one.class two.class three.class……


Antwoord 5

Zet alle 6 klassen in 6 verschillende projecten. Maak vervolgens jar-bestanden van alle 6 projecten. Op deze manier krijgt u 6 uitvoerbare jar-bestanden.

Other episodes