在glassfish 3.1.2中部署时,commons digester无法加载我的类

在glassfish 3.1.2中部署时,commons digester无法加载我的类,glassfish,glassfish-3,classnotfoundexception,xerces,apache-commons-digester,Glassfish,Glassfish 3,Classnotfoundexception,Xerces,Apache Commons Digester,我最近面临以下问题: 1) 我的应用程序是一个企业应用程序。它是基于Java1.5构建的。部署在glassfish 2.1中,运行良好 现在我们发现有必要从Java1.5迁移到Java1.6,也有必要从GLASSFISH 2.1迁移到GLASSFISH 3.1.2 现在,在尝试这种迁移时,会出现问题。 在应用程序启动期间,使用commons digester解析XML配置文件并将其保存到对象。对于GlassFish2.1,在Java1.5和Java1.6中,digester解析都可以正常进行 但

我最近面临以下问题:

1) 我的应用程序是一个企业应用程序。它是基于Java1.5构建的。部署在glassfish 2.1中,运行良好

现在我们发现有必要从Java1.5迁移到Java1.6,也有必要从GLASSFISH 2.1迁移到GLASSFISH 3.1.2

现在,在尝试这种迁移时,会出现问题。 在应用程序启动期间,使用commons digester解析XML配置文件并将其保存到对象。对于GlassFish2.1,在Java1.5和Java1.6中,digester解析都可以正常进行

但在glassfish 3.1.2中执行相同操作时,我们在应用程序启动过程中遇到以下错误:

以下日志文件来自应用程序日志:

java.lang.ClassNotFoundException: ge.ifm.valueObjects.ConfVO
    at com.sun.enterprise.loader.ASURLClassLoader.findClassData(ASURLClassLoader.java:808)
    at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:696)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.apache.commons.digester.ObjectCreateRule.begin(ObjectCreateRule.java:252)
    at org.apache.commons.digester.Rule.begin(Rule.java:200)
    at org.apache.commons.digester.Digester.startElement(Digester.java:1273)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1605)
    at ge.ifm.common.utility.IFMCacheListener.contextInitialized(IFMCacheListener.java:87)
glassfish服务器日志中的以下日志:

[#|2012-10-16T10:59:40.936+0530|SEVERE|glassfish3.1.2|org.apache.catalina.core.ContainerBase|_ThreadID=22;_ThreadName=Thread-2;|ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: ge.ifm.common.exception.GenericInterfaceException: SAXException-->Occured while calling parse of Digester Class.Exception Message is -->Error at (11, 7: ge.ifm.valueObjects.ConfVO
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5389)
    at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
    .
    .
Caused by: ge.ifm.common.exception.GenericInterfaceException: SAXException-->Occured while calling parse of Digester Class.Exception Message is -->Error at (11, 7: ge.ifm.valueObjects.ConfVO
    at ge.ifm.common.utility.IFMCacheListener.contextInitialized(IFMCacheListener.java:107)
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:4750)
    at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:550)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5366)
    ... 62 more
Caused by: java.lang.ClassNotFoundException: ge.ifm.valueObjects.ConfVO
    at org.apache.commons.digester.Digester.createSAXException(Digester.java:2540)
    at org.apache.commons.digester.Digester.createSAXException(Digester.java:2566)
    at org.apache.commons.digester.Digester.startElement(Digester.java:1276)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1605)
    at ge.ifm.common.utility.IFMCacheListener.contextInitialized(IFMCacheListener.java:87)
    ... 65 more
Caused by: java.lang.ClassNotFoundException: ge.ifm.valueObjects.ConfVO
    at com.sun.enterprise.loader.ASURLClassLoader.findClassData(ASURLClassLoader.java:808)
    at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:696)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.apache.commons.digester.ObjectCreateRule.begin(ObjectCreateRule.java:252)
    at org.apache.commons.digester.Rule.begin(Rule.java:200)
    at org.apache.commons.digester.Digester.startElement(Digester.java:1273)
    ... 77 more
尽管该类存在于构建中,但我们仍面临该类未找到错误


请提出同样的建议….

Hi,这在修改commons消化池源文件后得到解决。。似乎是一个普通的消化器错误。。修改Digester.java如下:public Digester(){System.out.println(“到达1>>”);this.setUseContextClassLoader(true);}public Digester(SAXParser解析器){System.out.println(“到达2>>”);this.setUseContextClassLoader(true);this.parser=parser;}public Digester(XMLReader reader){System.out.println(“Comes to 3>>”);this.setUseContextClassLoader(true);this.reader=reader;是否有针对commons digester的补丁进行上述更改?非常感谢您的帮助!