2012-07-19 26 views
1

我正在使用websphere 7.来部署我的应用程序。在部署时,它需要解析* .ddm文件来读取属性。我们使用DOMParser来解析文件。以下是代码。 同样这工作正常是雄猫。解析ddm文件时的java.lang.LinkegeError Websphere中的DOMParser 7

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 /[email protected]" previously initiated loading for a different type with name "org/apache/xml/resolver/helpers/Debug" defined by loader "org/eclipse/osgi/internal/baseadaptor/[email protected]" 
[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 

回答

1

通过在WAS中创建共享引用库来解决问题。

内容管理

  1. 创建共享库

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

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

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

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

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

  5. 在共享库参考窗格上,选择内容管理应用程序,然后单击引用共享库。

6单击新建。

  1. 在配置页面,在名称框中名称更改为罐子

  2. 在类路径中,添加这些三线,改变路径您提取WAR文件的位置。

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

d:\ TEMP \ org.eclipse.osgi_3.3.2.R33x_v20080105.jar d:\ TEMP \ org.apache.xml.resolver_1.1.jar d:\ TEMP \资源

  1. 选择类加载复选框。

  2. 单击应用。

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

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

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

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

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

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

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

  10. 在企业应用程序窗口中,选择WAR文件,然后单击开始。

  11. 当应用程序启动时,绿色箭头出现在应用程序状态栏中。

+0

令人敬畏的prasad,真正非常具有描述性和100%的帮助。 – 2012-08-20 17:40:08