1

我正在使用 websphere 7. 来部署我的应用程序。部署时需要解析 *.ddm 文件来读取属性。我们正在使用 DOMParser 来解析文件。以下是代码。同样工作正常的是Tomcat。

InputStream iStream = new BufferedInputStream(new FileInputStream(file));
InputSource iSource = new InputSource(iStream );
DOMParser.parse(iSource);

得到以下异常。

[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R Caused by: java.lang.LinkageError:     loading constraint violation: loader "com/ibm/ws/classloader /CompoundClassLoader@2de92de9" previously initiated loading for a different type with name  "org/apache/xml/resolver/helpers/Debug" defined by loader "org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader@602c602c"
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at java.lang.ClassLoader.defineClassImpl(Native Method)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at java.lang.ClassLoader.defineClass(ClassLoader.java:274)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:768)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:687)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:510)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at java.lang.ClassLoader.loadClass(ClassLoader.java:618)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xml.resolver.tools.CatalogResolver.getResolvedEntity(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xml.resolver.tools.CatalogResolver.resolveEntity(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xerces.util.EntityResolverWrapper.resolveEntity(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xerces.impl.XMLEntityManager.resolveEntity(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
[7/19/12 12:42:00:218 IST] 00000022 SystemErr     R     at 
4

1 回答 1

1

问题正在通过在 WAS 中创建共享参考库得到解决。

为内容管理创建共享库

  1. 启动 WebSphere 集成解决方案控制台。

    有关控制台的更多信息,请参阅 WebSphere 文档。

  2. 展开应用程序-> 应用程序类型,然后单击 WebSphere 企业应用程序。

  3. 在企业应用程序窗口中,选择内容管理应用程序名称。

  4. 在配置页面上,单击共享库引用。

  5. 在共享库引用窗格中,选择 Content Management 应用程序,然后单击引用共享库。

6 单击新建。

  1. 在 Configuration 页面上,将 Name 框中的名称更改为 jars

  2. 在 Classpath 框中,添加这三行,将路径更改为您提取 WAR 文件的位置。

注意:这些文件中的每一个都必须在单独的行中输入。

D:\Temp\org.eclipse.osgi_3.3.2.R33x_v20080105.jar D:\Temp\org.apache.xml.resolver_1.1.jar D:\Temp\resource

  1. 选中类加载复选框。

  2. 单击应用。

  3. 单击保存链接以更新主配置。

  4. 在共享库引用页面中,选择部署的应用程序,然后单击引用共享库。

  5. 在共享库映射页面中,您创建的共享库出现在可用列表中。使用箭头按钮将其移动到选定列表,然后单击确定。

  6. 在共享库引用页面中,选择DocCenterServer模块,然后单击引用共享库。

  7. 在共享库映射页面中,您创建的共享库出现在可用列表中。使用箭头按钮将其移动到选定列表,然后单击确定。

  8. 单击保存链接以更新主配置。

  9. 重新启动部署的应用程序以应用更改:

  10. 在 Enterprise Application 窗口中,选择 WAR 文件并单击 Start。

  11. 启动应用程序后,“应用程序状态”列中会出现一个绿色箭头。

于 2012-08-19T21:21:41.293 回答