erreur "duplicate entry" lors de L'exportation du projet Java vers JAR avec Eclipse

j'essaie de transformer un projet Java avec Eclipse 3.6.1 en un Jar exécutable. Cela fonctionnait correctement mais a échoué aujourd'hui, après que j'ai ajouté quelques pots supplémentaires à mon chemin de classe.

L'erreur est

duplicate entry: some/class.class

fait intéressant, il y a une entrée en double pour presque n'importe quelle classe dans mon buildpath. Même si je n'ai pas changer quoi que ce soit. Les pots que j'ai ajoutés ne contiennent pas de classes dupliquées.

Question: Est-ce une sorte de bug Eclipse? Suis-je ovrlooking quelque chose évident? Quelqu'un a une idée de ce que pourrait causer cette erreur?

Cheers

24
demandé sur Martin Preusse 2010-12-07 18:02:53

6 réponses

Vous pouvez essayer de modifier la ligne

<jar destfile="/Volumes/resi/talosBase.jar" filesetmanifest="mergewithoutmain">

dans votre fichier

<jar destfile="/Volumes/resi/talosBase.jar" filesetmanifest="mergewithoutmain" duplicate="preserve">

cela fera que ant préservera la première entrée de tout duplicata et ignorera le reste. Le comportement par défaut est "ajouter" et vous pouvez vous retrouver avec plusieurs fichiers du même nom pleinement qualifié. L'autre entrée valide pour ce paramètre est "fail", mais je ne pense pas que vous aider ici.


VIEUX-Réponse

Supprimer votre dernière création jar exécutable soit manuellement, soit en modifiant le script ant généré pour le faire avant d'en créer un nouveau

11
répondu Kevin D 2010-12-09 14:11:38

le nettoyage du projet devrait aider. Ce n'est pas eclipse bug, mais plutôt celui de jar maker. Apparemment, il prend les classes et voir que de telles classes existent déjà et ne peut pas comprendre qu'il devrait les remplacer au lieu de les ajouter.

1
répondu Vladimir Ivanov 2010-12-07 15:05:44

dans mon cas, le nettoyage, le projet ne marche pas changer quelque chose si j'ai utiliser une solution de contournement :

  1. genearte un script de compilation par activation par save ANT script script ant genration
  2. exécutez le script ant manuellement ou dans eclipse (son meilleur) de l'exécution du script par eclipse

et j'ai modifier mon script ant par l'ajout de l'option comme indiquer dans ce post en double="preserve" (pour garder la première version sur la copie de l' fichier )

espoir aide

1
répondu forest forest 2016-07-25 17:08:09

nettoyer le projet vous aidera.

0
répondu Gaurav Gupta 2013-01-18 09:44:30

essayez d'enlever les pots et de les ajouter une fois de plus.. c'est l'erreur résolu pour moi..

0
répondu Aarish Ramesh 2013-09-12 13:33:28

moi aussi j'avais le même problème, mais ensuite j'ai légèrement modifié les paramètres de construction dans Eclipse à celui mentionné ci-dessous.

Eclipse export jar

cela a résolu le problème d'entrée en double pour moi, il copie juste tous les bocaux requis à un sous-répertoire.

0
répondu sysuser 2016-07-11 23:32:32