J'ai installé une application et quand j'essaie de l'exécuter (c'est un fichier jar exécutable), rien ne se passe. Quand je l'exécute à partir de la ligne de commande avec :
java -jar "app.jar"
Je reçois le message suivant :
aucun attribut principal de manifeste, dans "app.jar"
Normalement, si j'avais créé le programme moi-même, j'aurais ajouté un attribut de classe principale au fichier manifeste. Mais dans ce cas, puisque le fichier provient d'une application, je ne peux pas le faire. J'ai également essayé d'extraire le jar pour voir si je pouvais trouver la classe principale, mais il y a trop de classes et aucune d'entre elles n'a le mot "main" dans son nom. Il doit y avoir un moyen de résoudre ce problème car le programme fonctionne parfaitement sur d'autres systèmes.
0 votes
Cherchez les méthodes principales ; vous ne pouvez pas vous fier sur les noms de classe.
3 votes
Je sais, mais comme je n'ai que des fichiers .class, je ne peux pas vraiment voir les méthodes. Ou puis-je ?
0 votes
Vous ne tapez pas vraiment les guillemets, n'est-ce pas? En tout cas, il existe plusieurs façons de voir les méthodes, y compris en utilisant
javap
. Vous voudrez peut-être décompresser le fichier .jar et voir s'il n'y a en fait aucun manifeste.0 votes
Connexe : avec des dépendances : stackoverflow.com/a/23986765/360211
0 votes
Et si je n'ai pas de classe principale car j'exécute le code en utilisant CommandLineJobRunner
0 votes
J'ai eu ce problème avec une bibliothèque qui avait déjà fonctionné précédemment, simplement parce que je manquais des étapes de déclaration d'exécution...
0 votes
La solution consiste à ajouter META-INF au répertoire des ressources et quelques autres étapes expliquées ici youtube.com/watch?v=wPGSas_f0ts
0 votes
J'ai une tâche appelée
buildRepackage
, je pense que c'est ce que fait la tâche mais je ne peux pas faire en sorte qu'un jar soit exécutable avec toutes les dépendances. Savez-vous comment ils fonctionnent ensemble et comment puis-je réaliser cela pour une application Spring Boot?0 votes
Salut @Ewoud, j'ai remarqué que tu n'as pas encore sélectionné de réponse comme solution. Tu as peut-être oublié de le faire, je te le signale simplement.
0 votes
La manière la plus simple est de simplement modifier directement les paramètres de Maven/Gradle
0 votes
@CausingUnderflowsEverywhere Je ne me souviens honnêtement pas si j'ai résolu le problème il y a toutes ces années. Choisir une réponse maintenant, sans savoir si cela a résolu mon problème serait, selon moi, contraire à l'éthique. Je pense qu'il y a beaucoup d'informations utiles ici pour les personnes qui rencontrent le même problème ou un problème similaire, et j'espère que le système de notation les aidera à trouver la bonne réponse.
0 votes
Le plugin de configuration mentionné dans la réponse ici aiderait- stackoverflow.com/questions/54867295/…