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

2022-09-01 16:13:09

我正在尝试将带有Eclipse 3.6.1的Java项目导出到一个可运行的Jar中。这曾经正常工作,但今天失败了,因为我在我的类路径中添加了一些额外的Jar。

错误是

duplicate entry: some/class.class

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

问:这是某种 Eclipse 错误吗?我是否在看一些明显的东西?有没有人知道什么可能导致此错误?

干杯


答案 1

您可以尝试修改该行

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

在您的构建文件中

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

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


老答案

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


答案 2

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


推荐