首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在类java.lang.String lookupNamespaceURI(java.lang.String)中找到引用的方法org.w3c.dom.Node

无法在类java.lang.String lookupNamespaceURI(java.lang.String)中找到引用的方法org.w3c.dom.Node
EN

Stack Overflow用户
提问于 2013-04-17 16:54:26
回答 1查看 1.2K关注 0票数 0

在JDK 6平台上,我成功地使用了proguard 4.5.1和proguard-maven-plugin (没有指定的版本)来混淆我的webapp。

当我升级到JDK 7平台时,我必须升级到proguard 4.8,并使用proguard-maven-plugin 2.1.0-快照,我在执行proguard时得到了以下警告的两个实例,这会导致构建失败:

代码语言:javascript
复制
 [proguard] Warning: mypackage.MyClass: can't find referenced method 'java.lang.String lookupNamespaceURI(java.lang.String)' in class org.w3c.dom.Node

我检查了确保./jdk1.7.0/jre/lib/rt.jar被指定为库:

代码语言:javascript
复制
[proguard] Reading library jar [.../jdk1.7.0/jre/lib/rt.jar]

我收到以下可能与我的问题有关的警告:

代码语言:javascript
复制
[proguard] Note: duplicate definition of library class [org.w3c.dom.Node]

here上发布了一个类似的问题,但这无助于解决我的问题。

关于如何找出哪个库有重复的定义以及如何解决这个问题,有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2013-04-17 19:22:40

当我从项目中删除下列未使用的依赖项时,我的问题得到了解决:

代码语言:javascript
复制
 +- org.swinglabs:swingx-ws:jar:1.0:compile
|  |  +- xerces:xercesImpl:jar:2.8.1:compile
|  |  |  \- xml-apis:xml-apis:jar:1.3.03:compile

我调试问题来源的方式如下所示。

  1. 我查找了第一个警告“库类org.w3c.dom.Node的重复定义”,这是原始警告消息中提到的类。
  2. 接下来,我向后搜索“阅读库jar”,以查看哪个jar具有重复的定义。它是xml 1.3.03.jar
  3. 然后,我在项目上运行了maven的depenency:tree目标,以查看xml 1.3.03.jar依赖项中的哪个jar。那是一只摇动的罐子。

值得庆幸的是,最近在这个项目中添加了swingx,它从未被实际使用过。所以我要做的就是移除它。如果我真的必须使用那个jar,我怀疑我可以排除xml的依赖,并且仍然可以使事情正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16065830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档