【发布时间】:2013-12-12 18:25:55
【问题描述】:
我最近添加了罐子 joda-time-2.3 和 joda-time-2.3-sources。我的项目在 Eclipse 上继续运行良好,但 jenkins (ant) 正在崩溃。有谁知道如何解决这个问题?
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.util.DexException: Multiple dex files define Lorg/joda/time/Chronology;
[dx] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592)
[dx] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550)
[dx] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531)
[dx] at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168)
[dx] at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
[dx] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:232)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:174)
[dx] at com.android.dx.command.Main.main(Main.java:91)
编辑
一旦找到一个来源,我如何告诉 Jenkins/ant 停止查找?假设这是问题所在。
【问题讨论】:
-
我最好的猜测是 joda-time-2.3-sources jar 文件也包含类文件。您可以通过简单地检查 jar 的内容来验证这一点。
-
顺便说一句,您的项目中是否有需要该 jar (joda-time-2.3-sources.jar) 的原因?如果你已经在另一个 jar 中编译了类,那么你可以简单地删除 joda-time-2.3-sources.jar 并且一切都应该很好。
-
我通过删除
joda-time-2.3.jar尝试了您的想法,但随后 eclipse 失败了。我想如果源有类,那么我不应该同时需要。 -
源代码使编码更容易。我可以看看文档。
-
你需要一个或另一个。通常首选非源版本。源版本什么也没给你买。该源代码未在 Eclipse 或 Jenkins 中编译。它仅供参考....因此,要解决您的问题,请尝试使用另一个 jar。另外,不要忘记在对文件系统进行更改后刷新您的 Eclipse 项目。
标签: java android eclipse ant jenkins