使用Eclipse将Java项目导出到JAR时出现“重复条目”错误

我试图将Eclipse 3.6.1的Java项目转发到可运行的Jar。 这曾经正常工作但今天失败了,我在课程路径中添加了一些额外的Jars。

错误是

duplicate entry: some/class.class 

有趣的是,我的构建路径中几乎所有类都有重复的条目。 即使我没有改变任何东西。 我添加的Jars不包含重复的类。

问题:这是某种Eclipse错误吗? 我看到了明显的东西吗? 有没有人知道什么可能导致这个错误?

干杯

您可以尝试修改该行

  

在您的构建文件中

  

这将导致ant保留任何副本的第一个条目并忽略其余的条目。 默认行为是“添加”,因此您最终可以获得具有相同完全限定名称的多个文件。 这个参数的另一个有效条目是“失败”,但我认为这不会对你有所帮助。


OLD-回答

手动删除上次创建的可运行jar,或者在创建新脚本之前更改生成的ant脚本

清理项目应该有所帮助。 这不是日食的错误,而是jar子制造商的错误。 显然,它需要类并且看到这些类已经存在并且无法理解它应该替换它们而不是添加它们。

在我的情况下清理项目不会改变任何事情,所以我使用一个解决方法:

  1. 通过保存ANT脚本ant脚本生成激活构建脚本
  2. 手动执行ant脚本或在eclipse中执行 eclipse(更好) 执行脚本

并通过添加选项来更改我的ant构建脚本,如此post中的指示duplicate =“preserve”(以保留复制文件上的第一个版本)

希望它有所帮助

清洁项目将对您有所帮助。

尝试删除jar子并再次添加..这解决了我的错误..

我也有同样的问题,但后来我稍微修改了Eclipse中的构建设置到下面提到的那个。

Eclipse导出jar

这为我解决了重复输入问题,它只是将所有必需的jar复制到子目录。