System.out ne fonctionne pas lorsque vous appelez jar-file depuis la ligne de commande Windows
J'ai cette classe:
public class Test {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Et j'ai utilisé Eclipse "Exporter vers runnable JAR" de la fonction pour en faire un exécutable jar-file (test.jar). Lorsque j'exécute ce programme dans Eclipse, il affiche "Hello World!", mais quand je l'appelle le pot-fichier depuis la ligne de commande, rien ne se passe.
J'ai essayé d'appeler le pot-fichier comme ceci:
test.jar
test.jar -jar
Il n'y a pas de sortie que ce soit.
J'ai un autre programme qui a également un effet secondaire (en plus de la sortie vers stdout) et alors que l'effet secondaire est en cours (ce qui me dit que le jar-file, a certainement été exécuté), pas de sortie est donnée à la ligne de commande. J'ai également essayé d'utiliser stderr, mais qui ne fait pas de différence. Quelqu'un sait comment je peux faire ce travail?
Merci!
source d'informationauteur Jordi
Vous devez vous connecter pour publier un commentaire.
Vous devez exécuter le POT à l'aide de
(Votre dossier bin du JRE doit être ajouté à la VOIE afin d'obtenir la commande de travail à partir de n'importe quel emplacement)
NOTE: je sais que vous avez créé le BOCAL à l'aide d'Eclipse, mais vous pourriez vouloir savoir comment un executable JAR fonctionne
Les réponses précédentes sont correctes, donc je vais juste préciser un peu la "exécutable jar" concept.
Il n'y a pas une telle chose comme un "exécutable jar", équivalent à un fichier exe dans windows, dans un "exécutable jar", vous serez uniquement en spécifiant le point de "entrée" ( votre classe principale, vous voulez être exécuté par défaut )
Un pot est fondamentalement juste une archive, vous aurez toujours besoin de java pour réellement lancer le jar ( java-jar your.jar )
Le fait que dans windows, vous pourriez avoir une association avec javaw.exe signifie que ce sera lancé par le système d'exploitation lorsque vous double-cliquez sur le pot, comme une .txt fichier ouvert automatiquement avec le bloc-notes, il ne fait pas de la .txt un fichier exécutable.
Vérifier cela ainsi :
Les fichiers JAR révélé
Lorsque vous appelez le bocal à l'aide de 'test.jar" le démarrage de l'application est confiée à l'organisme de java gestionnaire de fichiers jar, qui ne fonctionne pas dans le contexte de la ligne de commande.
La valeur par défaut pot gestionnaire ne pas ouvrir la console Système.{, err} descripteurs de fichiers, qu'il s'agirait d'une cmd fenêtre de style pour chacun des fichiers jar lancé, ce qui n'est pas une situation idéale.
La réponse précédente, à l'aide de java -jar test.jar provoque pour s'exécuter dans le contexte actuel de la fenêtre de commande, et ainsi vous verrez le résultat.