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é
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.
dans mon cas, nettoyer le projet ne change rien, donc j'utilise une solution de contournement:
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
Nettoyer le projet vous aidera.
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.
Essayez de retirer les pots et de les rajouter une fois de plus .. l'erreur a été résolue pour moi ..