web-dev-qa-db-fra.com

(Java) Utilisez l'invite de commandes pour créer un fichier .jar à partir de plusieurs fichiers .class.

J'ai écrit un fichier .Java, appelé Main.Java, et l'ai compilé à l'aide du fichier javac de l'invite de commande Windows. Le compilateur crée plusieurs fichiers .class (appelés Main.class, Main $ 1.class et Main $ 2.class - probablement parce que j'ai des classes internes anonymes dans mon fichier Main.Java). J'essaie de créer un fichier .jar exécutable afin de pouvoir double-cliquer sur un raccourci pour exécuter cette application (il s'agit d'une application Java Swing), mais j'échoue lorsque je navigue dans le répertoire des trois fichiers de classe et que je tape:

jar cfv file.jar Main.class Main$1.class Main$2.class

L'invite de commande affiche ensuite ce texte:

added manifest
adding: Main.class(in 4871) (out = 2848)(deflated 41%)
adding: Main$1.class(in 1409) (out = 833)(deflated 40%)
adding: Main$2.class(in 1239) (out = 767)(deflated 38%)

Malgré cela, lorsque je double-clique sur le fichier file.jar dans l'Explorateur Windows, rien ne se passe. Aucune application de swing ne s'ouvre.

J'espère que quelqu'un pourra m'aider avec ça. Je vous remercie

Meilleur ... SL

7
Skyler

Vous devez utiliser le commutateur de point d'entrée -e (avec le nom de la classe contenant la méthode main()) comme suit:

jar cfve file.jar Main Main.class Main$1.class Main$2.class
14
iamnotmaynard

Il faut que quelque chose indique à Java quelle classe doit être lancée automatiquement ... C'est le manifeste - voir description ici Vous devez emballer le fichier Manifest.mf dans votre pot.

5
michael_s
  1. Ouvrir l'invite de commande
  2. allez sur le chemin où le fichier jar existe
  3. lancer la commande jar xf fileName.jar
  4. Il va générer des fichiers com, META-INF & Copyright.mk
  5. Allez au paquet particulier où vous voulez modifier le fichier de classe (Fondamentalement, les fichiers de classe présents dans le répertoire com)
  6. Téléchargez le JAD.exe à partir de Google (son fichier zip)
  7. Extrayez le fichier Zip que vous obtiendrez jad.exe
  8. Placez le fichier de classe (que vous voulez modifier) ​​dans le dossier qui contient jad.exe
  9. Allez à la commande Invite, lancez jad fileName.class (le nom de fichier de la classe que vous voulez modifier)
  10. Le fichier fileName.jad sera généré, renommez-le en fileName.Java
  11. compilez le fileName.Java (si sa référence à un autre fichier de classe le configure dans Eclipse en conséquence)
  12. une fois compilé, remplacez le fichier de classe dans le répertoire défini à l'étape 4
  13. Allez à la commande Invite, cd Étape 4 chemin, exécutez jar cf fileName.jar (* représente tous les fichiers de classe indépendamment des répertoires) 
0
Praveen
  1. ouvrir cmd (windows + r type cmd)
  2. tapez simplement la commande comme un "pot" sans quatoes
  3. cela donnera quelques options et ces utilisations.
  4. utilise ce que tu veux
  5. pour créer un fichier jar avec la classe, vous devez mentionner jar cfv nomfichier.jar exemple.class exemple2.classe etc .. 
  6. Si vous utilisez swing, compilez-le avec javac -deprecation SwingApplication.Java mais la version de JDK doit être supérieure à la version JDK1.1.
  7. exécuter Java SwingApplication
  8. Bonne chance
0
Gopal Reddy