web-dev-qa-db-fra.com

Erreur "entrée en double" lors de l'exportation d'un projet Java vers JAR avec Eclipse

J'essaie d'exporter un projet Java avec Eclipse 3.6.1 vers un fichier jar exécutable. Auparavant, cela fonctionnait correctement, mais j’ai échoué aujourd’hui, après avoir ajouté des fichiers JAR supplémentaires à mon chemin de cours.

L'erreur est

duplicate entry: some/class.class

Fait intéressant, il existe une entrée en double pour presque toutes les classes de mon chemin de construction. Même si je n'ai rien changé. Les fichiers JAR que j'ai ajoutés ne contiennent pas de classes en double.

Question: Est-ce une sorte de bug Eclipse? Est-ce que je regarde quelque chose d'évident? Quelqu'un a-t-il une idée de ce qui pourrait causer cette erreur?

À votre santé

25
Martin Preusse

Vous pouvez essayer de modifier la ligne 

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

dans votre fichier de construction pour être 

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

Cela obligera ant à conserver la première entrée de tout doublon et à ignorer le reste. Le comportement par défaut est "add" afin que vous puissiez vous retrouver avec plusieurs fichiers du même nom complet. L'autre entrée valide pour ce paramètre est "échec" mais je ne pense pas que cela vous aidera ici.


OLD-Answer

Supprimez manuellement le dernier fichier jar créé créé ou modifiez le script ant généré pour le faire avant de créer un nouveau.

11
Kevin D

dans mon cas, nettoyer le projet ne change rien, donc j'utilise une solution de contournement:

  1. genearte un script de construction par activation en sauvegardant ANT script ant script genration
  2. exécuter le script ant manuellement ou dans Eclipse (mieux) exécution du script par Eclipse

et je change mon script de compilation ant en ajoutant une option comme indiqué dans ce post duplicate = "preserve" (pour conserver la première version sur le fichier dupliqué)

espérons que cela aide 

1
forest forest

Nettoyer le projet vous aidera.

1
Gaurav Gupta

Nettoyer le projet devrait aider. Ce n'est pas un bug Eclipse, mais plutôt celui de Jarre Maker. Apparemment, il faut les classes et voir que de telles classes existent déjà et ne peuvent pas comprendre qu'il faut les remplacer au lieu de les ajouter. 

1
Vladimir Ivanov

Essayez de retirer les pots et de les rajouter une fois de plus .. l'erreur a été résolue pour moi ..

0
Aarish Ramesh

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

 Eclipse export jar

Cela a résolu le problème des entrées en double pour moi, il ne fait que copier tous les fichiers JAR requis dans un sous-répertoire.

0
sysuser