En cours d'exécution .Fichier jar sur Linux
J'ai un .fichier jar qui lit les deux fichiers à partir de l'intérieur de son dossier et produit en sortie une .txt fichier et un dossier séparé avec plusieurs autres .les fichiers txt. Cela fonctionne parfaitement sous Windows à l'aide de ce code pour créer le répertoire:
static String dir = System.getProperty("user.dir");
J'ai utilisé les instructions ici: https://askubuntu.com/questions/192914/how-run-a-jar-file-with-a-double-click mettre en place mon .jar fichier pour l'exécuter sur un simple double-clic, mais comme de maintenant, il ne fait rien lorsqu'on double-clique. Ma conjecture est que l'-dessus de la ligne de code ne se traduisent pas bien à Linux. Quelqu'un sait comment résoudre ce problème?
- Comment construisez-vous des chemins?
- Ce que l'exception en êtes-vous? Essayez tout d'abord via le terminal pour voir. Exécution du bocal à l'aide de l'interface graphique des masques à l'erreur.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, essayer de l'exécuter sur la ligne de commande, avec
java -jar <file.jar>
La
user.dir
propriété est multi-plateforme (voir ici) donc il ne devrait pas être le problème. Cependant, êtes-vous à l'aide de fichier correct séparateurs? Rappelez-vous, c'est " /" sur UNIX et '\' sur Windows.Essayer java-jar Jarname.jar et d'autres fichiers comme arguments une fois cette commande
La ligne de code que vous avez donné fonctionne bien sous linux.
Ma meilleure supposition est que vous êtes alors en essayant d'utiliser le chemin de ce répertoire en ajoutant une spécifiques à windows séparateur de chemin d'accès (comme le chemin + "\subdir") qui n'est pas approprié pour linux (vous devez créer un nouveau Fichier objet à la place).
Soit ça, ou que votre fichier jar n'est pas exécutée du tout. Avez-vous essayé de faire quelque chose de très simple dans votre fichier jar pour voir si quelque chose est en cours d'exécution? Avez-vous essayé de lancer votre bocal avec
java -jar myapp.jar
pour voir si des exceptions sont levées ou les messages d'erreur affichés?Vous devrez modifier manuellement votre processus de build pour obtenir le fichier jar marqué comme exécutable. Dans votre fichier xml, il y a un objectif, "post-pot", qui est appelée après que le pot est construit. Vous aurez besoin pour faire de cette cible, et l'utilisation de la Fourmi chmod tâche pour modifier votre bocal. Une fois que vous faites cela, il va se produire chaque fois que vous effectuez un fichier jar dans ce projet.
Il fonctionnera très bien aussi longtemps que vous avez un JRE installé.
Lisez cet article pour en savoir plus.