2010-12-07 175 views
23

我正尝试将Eclipse项目中的Java项目移植到可运行Jar中。这用于正常工作,但今天失败了,之后我添加了一些额外的Jars到我的课程路径。将Eclipse项目导出到JAR与Eclipse时出现“重复项”错误

的错误是

duplicate entry: some/class.class 

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

问题:这是一些Eclipse错误吗?我是否看到明显的东西?有没有人有一个想法可能会导致这个错误?

干杯

+0

如果你已经生成了ant build脚本,你可以发布它。 – 2010-12-07 15:32:03

+0

以下是我在Eclipse中生成的Ant脚本:http://typewith.me/M6bAQ7pUCe – 2010-12-07 16:25:15

回答

10

你可以尝试修改行

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

在生成文件中是

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

这将导致蚂蚁保留任何重复的第一个条目而忽略其他。默认行为是“添加”,所以你可以结束与多个相同的完全限定名称的文件。这个参数的另一个有效输入是“失败”,但我认为这不会帮助你。


OLD-回答

删除您上次创建运行的JAR手动或改变产生的ant脚本创建一个新的

1

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

+1

如何清理与buildpath/Jars相关的项目? – 2010-12-07 15:08:18

0

清洁项目将帮助你面前这样做。

0

尝试取出瓶子,并再次将它..这解决了我的错误..

0

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

Eclipse export jar

这解决了重复录入的问题对我来说,它只是将所有需要的jar子目录。

1
在我的情况下清理项目并没有改变任何东西

所以我用一种变通方法:

  1. 通过激活genearte构建脚本保存Ant脚本ant script genration
  2. 手动或在Eclipse执行ant脚本(其更好) executing script by eclipse

,我通过添加选项来改变我的Ant构建脚本在这个帖子表示复制=“保存”(保持第一版本上已打开文件)

希望它有帮助

相关问题