0

私は、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 などに完全に依存しており、2004 年頃に xerces を "xercesImpl" に移動した後に導入されました。 .

ただし、このプロジェクトには、xerces および xml-apis に基づいて XML を操作する多くのコードが含まれており、これらのライブラリの「より最新の」バージョンに急いで移行するのは危険に思えます。したがって、「絶対に必要以上に」移動したくありません。

maven のおかげで、pom.xml で直接参照されていない場合、アーティファクトのどのバージョンがロードされているかを誰も直接見ることができません。したがって、私の質問:

IBM SBT SDK 1.1.0 で「本当に」必要な xercesImpl のバージョンはどれですか? SBT SDK で使用されるいくつかのメソッドがまだ実装されていないため、2.4.0 では不十分です...

4

1 に答える 1

1

依存関係の xerces バージョンは 2.9.0 になります。DOMUtil.java#loadDriver()クラスを見ると、 SBTKが xerces を完全に使用するのを回避するための回避策があります。

コンテナーでクラスパス ツリーの制御が許可されている場合、ツールキットから xerces ライブラリをシャドウすると、デフォルトで他のドライバーが使用されます。別の方法として、古い xerces バージョンと互換性のある独自の XercesDriver クラスを提供し、クラスローダーを利用して、それを私たちのものの代わりにロードすることができます。

osgi コンテナにいる場合は、ホスト アプリケーション マニフェストがバージョン <=2.4.0 への依存関係を宣言していることを確認し、両方の xerces バージョンをロードして、コンテナが依存関係を修正できるようにすることもできます。

とにかく、質問に答えるには、次を使用します。

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
于 2014-09-29T14:26:08.067 に答える