【问题标题】:IBM SBT SDK 1.1.0 (Java) and Apache xercesIBM SBT SDK 1.1.0 (Java) 和 Apache xerces
【发布时间】:2014-11-23 20:54:15
【问题描述】:

我正在将与 IBM SBT SDK (Java) 的 IC 集成添加到仍然使用 xerces 2.4.0(截至 2009 年 3 月)的现有项目中。

使用 IBM SBT SDK 1.0.x 在这里没有造成任何问题,但是 1.1.0 的 XML 序列化实现完全依赖于 org.w3c.xml.ls.DOMImplementationLS 以及将 xerces 移动到“xercesImpl”之后引入的此类东西” 大约是 2004 年。

但是,该项目包含许多使用基于 xerces 和 xml-apis 的 XML 的代码,并且太快地迁移到这些库的“更新”版本看起来很危险。因此,我想“不超过绝对需要”。

感谢 maven,如果没有在 pom.xml 中直接引用,没有人可以直接看到加载了任何工件的哪个版本。因此我的问题是:

IBM SBT SDK 1.1.0“真正”需要哪个版本的 xercesImpl? 2.4.0 还不够,因为 SBT SDK 中使用的一些方法还没有在那里实现...

【问题讨论】:

  • 我请了一位同事发表评论

标签: java xerces ibm-sbt xerces2-j


【解决方案1】:

依赖项中的 xerces 版本为 2.9.0;查看 DOMUtil.java#loadDriver() 类,但是有一些解决方法可以避免 SBTK 完全使用 xerces:

如果您的容器允许控制类路径树,则从工具包中屏蔽 xerces 库将使其默认为其他驱动程序。或者,您可以提供自己的与旧 xerces 版本兼容的 XercesDriver 类,并利用类加载器来代替我们加载它。

如果您在 osgi 容器中,您还可以确保主机应用程序清单声明对版本

无论如何,回答这个问题,使用:

mvn dependency:list

我得到了 xerces 的 2.9.0 版:

 The following files have been resolved:
    com.ibm.sbt:com.ibm.commons:eclipse-plugin:9.0.0:provided
    p2.eclipse-plugin:javax.servlet:jar:3.0.0.v201112011016:system
    p2.eclipse-plugin:javax.xml:jar:1.3.4.v201005080400:system
    p2.eclipse-plugin:org.apache.xalan:jar:2.7.1.v201005080400:system
    p2.eclipse-plugin:org.apache.xerces:jar:2.9.0.v201101211617:system
    p2.eclipse-plugin:org.apache.xml.resolver:jar:1.2.0.v201005080400:system
    p2.eclipse-plugin:org.apache.xml.serializer:jar:2.7.1.v201005080400:system
    p2.eclipse-plugin:org.eclipse.core.contenttype:jar:3.4.200.v20120523-2004:system
    p2.eclipse-plugin:org.eclipse.core.jobs:jar:3.5.300.v20120912-155018:system
    p2.eclipse-plugin:org.eclipse.core.runtime:jar:3.8.0.v20120912-155025:system
    p2.eclipse-plugin:org.eclipse.equinox.app:jar:1.3.100.v20120522-1841:system
    p2.eclipse-plugin:org.eclipse.equinox.common:jar:3.6.100.v20120522-1841:system
    p2.eclipse-plugin:org.eclipse.equinox.preferences:jar:3.5.1.v20121031-182809:system
    p2.eclipse-plugin:org.eclipse.equinox.registry:jar:3.5.200.v20120522-1841:system
    p2.eclipse-plugin:org.eclipse.osgi:jar:3.8.2.v20130124-134944:system

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 2021-03-26
    • 2016-05-05
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多