comment faire pour exécuter un fichier jar créé à l'aide de l'ide, 12
Je suis à l'aide de Intellij IDEA 12.0.4 sur MAC OS X 10.8.3 pour créer un fichier jar. Je vais dans Fichier -> Structure de Projet -> Artefacts -> + -> Jar -> à Partir de modules avec dépendances -> Sélectionné dans la Classe après la navigation -> extrait de la cible jar -> Répertoire pour META-INF est automatiquement renseignée -> OK -> Appliquez -> OK -> Build -> Construire des Artefacts -> Build
Maintenant, Si j'essaie de le lancer bocal à l'aide de:
java -jar path_to_jar/jar_file
J'obtiens cette erreur
no main manifest attribute, in path_to_jar/jar_file
$ java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
Tous les pointeurs, ce que je fais de mal?
Prendre un coup d'oeil sur des questions similaires, stackoverflow.com/questions/11166633/... et stackoverflow.com/questions/1082580/....
OriginalL'auteur user2213182 | 2013-03-30
Vous devez vous connecter pour publier un commentaire.
Pour résoudre ce problème, faire deux choses:
déplacer META-INF dans le dossier src/main/resources
puis: fichier-> ouvrir les paramètres du module de
choisir des artefacts, de supprimer votre compte et en créer un nouveau, mais cette fois, au lieu de choisir "extraire vers la cible jar", choisissez "copier dans le répertoire de sortie et le lien via manifeste"
pour le chemin d'accès à la META-INF, mettre le chemin des ressources dir ci-dessus que vous avez copié META-INF dans le..
maintenant construire votre artefact
im terminal, allez dans le répertoire où les pots ont été produites et à exécuter le faire:
java-jar yourjarfile.jar
avoir du plaisir
OriginalL'auteur felbus
Dans mon cas, c'était parce que l'Ide a été l'extraction de toutes les dépendances dans la sortie de pot, qui finit overwritting l' /META-INF/MANIFEST.MF fichier avec quelque chose de l'un de mes dépendances. J'ai dû ouvrir le bocal et le copier dans le réel MANIFESTE.MF partir de l'emplacement indiqué dans le "Fichier de Manifeste de la propriété" qui est automatiquement défini dans que les artefacts de la page de titre du Projet de la Structure".
OriginalL'auteur Josh
Vous devez choisir la classe "main" pour votre pot afin de le rendre exécutable (c'est à dire que vous devriez point dans l'IDÉE de la classe qui contient
public static void main(String[] args)
OriginalL'auteur Shmil The Cat