8
votes

Exécuter un fichier .jar dans une invite de commande à double clic

Je vais commencer par dire im sous Windows 7.

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

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.

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.

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.

Quelqu'un peut-il aider? Un pas à pas serait bien.


1 commentaires

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!


8 Réponses :


0
votes

.. mais il n'y a pas de fenêtre d'invite de commande montrant ma sortie de console.

Non, il n'y aurait pas de console pour un pot exécutable. Vous devrez mettre cette sortie dans l'interface graphique.


3 commentaires

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" à "Ouvrir avec une fenêtre d'invite de commande associée pour la sortie" 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.



1
votes

Si vous souhaitez afficher la ligne de commande, vous devez lancer votre jar avec la ligne de commande.

java -jar myjar.jar


0 commentaires

2
votes

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à.


0 commentaires

1
votes

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();
    }
}


0 commentaires

1
votes

Alternativement, je suggère de créer un fichier BAT avec ce contenu:

java -jar yourjar.jar


0 commentaires

9
votes

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) Les fichiers

Batch (ou Bat) sont super faciles à faire.

Il suffit de mettre le java -jar votrefile.jar dans le bloc-notes (si vous êtes sous Windows), enregistrez sous titre.bat et dans le même dossier que votre pot.

Presto! un programme ouvert par le grand public.


2 commentaires

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



0
votes

vérifier votre manifeste.mf

  1. extraire votre fichier jar "exécutable" dans un dossier
  2. Trouvez Manifest.MF dans le dossier Meta-Inf
  3. Vérifiez la présence de ce champ: Classe principale: YourmainClasshere

    Si ce champ a disparu, ouvrez votre manifeste original.txt pour ce point: Classe principale: YourmainClassHere Doit se terminer par une nouvelle ligne ou un nouveau retour chariot

    AVERTISSEMENT: le fichier texte doit se terminer par une nouvelle ligne ou une nouvelle déclaration de chariot . La dernière ligne ne sera pas analysée correctement si elle ne se termine pas avec une nouvelle ligne ou un nouveau retour de chariot.


0 commentaires

1
votes

C'est la solution la plus facile pour les débutants:

  1. Ouvrez n'importe quel éditeur de texte LI>
  2. Écrivez cette deux lignes: p>

      java "yourmainclassname"
      pause
    
  3. enregistrer ce fichier comme "nom" .bat p> li>

  4. exécutez-le avec un double clic de Windows Gui LI> ol>

    (bien sûr, ce nouveau fichier .bat créé doit figurer dans le même dossier que le fichier .class) p> p>


0 commentaires