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

时间:2010-12-07 15:02:53

标签: java eclipse jar

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

错误是

duplicate entry: some/class.class

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

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

干杯

6 个答案:

答案 0 :(得分:11)

您可以尝试修改该行

<jar destfile="/Volumes/resi/talosBase.jar" filesetmanifest="mergewithoutmain">
你的构建文件中的

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

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


OLD应答

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

在我的情况下,清理项目并没有改变任何事情所以我使用了一种解决方法:

  1. 通过保存ANT脚本ant script genration
  2. 激活生成构建脚本
  3. 手动或在eclipse中执行ant脚本(更好) executing script by eclipse
  4. 我通过添加选项来更改我的ant构建脚本,如此帖子中所示复制=&#34;保留&#34; (将第一个版本保留在重复文件中)

    希望有所帮助

答案 4 :(得分:0)

尝试删除罐子并再次添加..这样就解决了错误..

答案 5 :(得分:0)

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

Eclipse export jar

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