【问题标题】:Resolving a "duplicate definition of library class" in ProGuard解决 ProGuard 中的“库类的重复定义”
【发布时间】:2012-01-14 22:09:04
【问题描述】:

我有一个包含 Xerces 库的 Java 项目。

当我使用 Proguard 处理项目时,我收到警告:

Note: duplicate definition of library class [org.w3c.dom.html.HTMLDOMImplementation]

我在 Xerces 中看到这个类存在,并且在 JDK 1.6 的 rt.jar 中存在同一个类。

ProGuard 创建的 jar 文件无法启动(错误:“发生 Java 异常”)。 我怎么解决这个问题?谢谢!


(注意:我使用 Netbeans)

【问题讨论】:

    标签: java proguard xerces


    【解决方案1】:

    1) 您应该从其中一个库中删除该类(不建议这样做,因为它可能会破坏其他类)

    2) 找一个没有这个类的罐子。例如您在应用程序中使用的类可能在许多 jar 中可用。因此,请获取不存在此冲突类但存在您想要的其他类的 jar(这可能需要一些时间)

    3)(最好)忽略错误。我不认为它应该给任何问题。根据类路径中首先出现的 jar,将选择该类。

    【讨论】:

    • 不要不要忽略这些错误。它们可能在运行时导致 ClassCastExceptions。最好的方法是#1 - 从库中删除该类,因为它是重复的。
    猜你喜欢
    • 2016-01-07
    • 2019-01-24
    • 2012-10-31
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    相关资源
    最近更新 更多