0

最近、以下の問題に直面しました。

1) 私のアプリケーションはエンタープライズ アプリケーションです。JAVA 1.5で構築されています。Glassfish 2.1 にデプロイされ、正常に動作しています。

現在、JAVA 1.5 から JAVA 1.6 への移行、および GLASSFISH 2.1 から GLASSFISH 3.1.2 への移行が必要であることがわかりました。

さて、この移行をしようとすると問題が発生します。アプリケーションの起動時に、commons-digester を使用して XML 構成ファイルを解析し、それをオブジェクトに保存します。glassfish 2.1 では、JAVA 1.5 と JAVA 1.6 の両方で、ダイジェスターの解析が正常に行われています。

しかし、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

クラスはビルドに存在しますが、このクラスが見つからないというエラーに直面しています。

よろしくお願いします。

4

0 に答える 0