Je vais commencer par dire im sous Windows 7. p>
J'ai créé un fichier .jar qui exécute une amende de la ligne de commande à l'aide de l'approche Java -Jar Myjar.jar P>
Mais qu'est-ce que je suis après est de pouvoir double-cliquer sur le fichier JAR et pour ouvrir la fenêtre d'invite de commande et exécuter l'invite de commande comme si je viens de taper le java -jar myjar.jar. ligne. p>
Lorsque je double-cliquez sur le fichier JAR, je pense qu'il est en cours d'exécution car une partie visuelle de la Java apparaît, mais il n'y a pas de fenêtre d'invite de commande montrant ma sortie de console. P>
Après avoir regardé autour de vous, j'ai rencontré des personnes qui disent que Javaw, qui est ce que les fichiers JAR sont associés à ne pas avoir une console et que je dois associer des fichiers JAR avec Java.exe au lieu de Javaw.exe. J'ai essayé cela et ça ne semblait pas marcher. P>
Quelqu'un peut-il aider? Un pas à pas serait bien. P>
8 Réponses :
.. mais il n'y a pas de fenêtre d'invite de commande montrant ma sortie de console. p> blockQuote>
Non, il n'y aurait pas de console pour un pot exécutable. Vous devrez mettre cette sortie dans l'interface graphique. P>
Donc, il n'y a aucun moyen du tout où je pourrais obtenir un fichier JAR pour ouvrir dans la fenêtre d'invite de commande à un double clic?
Si vous changez "Ouvrir dans la fenêtre d'invite de commande" i> à "Ouvrir avec une fenêtre d'invite de commande associée pour la sortie" i> la réponse est "Non". Je n'essaierai pas de répondre à la question que vous me le mettre, car je ne peux pas le faire sentir.
Eh bien, vous avez répondu à ma question si vous vouliez vouloir ou non; Merci.
Si vous souhaitez afficher la ligne de commande, vous devez lancer votre jar avec la ligne de commande. P>
java -jar myjar.jar p>
Ceci est imho impossible. Vous pourriez Ouvrir la console de l'application elle-même, mais que dépend du système d'exploitation. Si vous avez besoin de la console ouverte, vous devez exécuter l'application à partir de ce que vous le faites déjà. P>
Je ferais quelque chose comme ceci:
(Testé dans les veuves XP avec JRE 1.6, pour prendre en charge les autres OSS, vous devez vérifier le chemin d'accès à chaque système d'exploitation et sélectionner l'émulateur de la console approprié ( xterm code>,
gnome-terminal code> ... (Vérifier l'existence et la préférence ...))) P>
public static void main(String[] args) throws Exception {
if (args.length == 0) {
String path = Main.class.getProtectionDomain().getCodeSource().getLocation().getPath().substring(1);//Adds extra slash (??) didn't know why
String decodedPath = URLDecoder.decode(path, "UTF-8");
System.out.println(decodedPath);
Runtime.getRuntime().exec("cmd /c start java -jar \"" + decodedPath + "\" actual_run");
}
else {
System.out.println("Hello World");
JOptionPane.showMessageDialog(null, "Hello World");
System.in.read();
}
}
Alternativement, je suggère de créer un fichier BAT avec ce contenu:
java -jar yourjar.jar
J'ai eu la même question et l'idée de fichier BAT était génie et m'a sauvé beaucoup de temps de réécriture de temps. Merci! (J'aurais suscité, mais apparemment, je n'ai pas assez de représentant) p> Les fichiers
Batch (ou Bat) sont super faciles à faire. P>
Il suffit de mettre le Presto! un programme ouvert par le grand public. P> java -jar votrefile.jar code> dans le bloc-notes (si vous êtes sous Windows), enregistrez sous
titre.bat code> et dans le même dossier que votre pot. p>
C'est en fait la meilleure solution
Ouais mais vous devez avoir les deux fichiers que, ce qui est buggy si je devais déplacer le fichier jar dans mon système de fichiers
vérifier votre manifeste.mf p>
Si ce champ a disparu, ouvrez votre manifeste original.txt pour ce point: Classe principale: YourmainClassHere em> Doit se terminer par une nouvelle ligne ou un nouveau retour chariot p>
C'est la solution la plus facile pour les débutants:
Écrivez cette deux lignes: p>
java "yourmainclassname" pause
enregistrer ce fichier comme "nom" .bat p> li>
(bien sûr, ce nouveau fichier .bat créé doit figurer dans le même dossier que le fichier .class) p> p>
Je pense que les gens de Microsoft essaient de savoir comment résoudre votre problème, suivez ce lien: réponses.microsoft.com/en-us/windows/forum/... < / a> espère que cela aide!