2010-01-08 4 views
2

donc j'ai à peu près exactement le même problème que ce que quelqu'un d'autre a décrit ici: birt-exchange.BIRT 2.5 déployé avec pot Xerces dans WEB-INF/lib lancers francs NullPointerException

J'ai intégré BIRT avec mon application Web existante qui nécessite le pot de Xerces (le mien est la version 2.5) et l'exception suivante est levée lorsque je tente de consulter le rapport:

java.lang.NullPointerException 
    at org.eclipse.birt.chart.reportitem.ChartReportItemImpl.doCompatibility(ChartReportItemImpl.java:302) 
    at org.eclipse.birt.chart.reportitem.ChartReportItemImpl.deserialize(ChartReportItemImpl.java:282) 
    at org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.initializeReportItem(PeerExtensibilityProvider.java:582) 
    at org.eclipse.birt.report.model.elements.ExtendedItem.initializeReportItem(ExtendedItem.java:305) 
    at org.eclipse.birt.report.model.elements.ExtendedItem.doCheck(ExtendedItem.java:642) 
    at org.eclipse.birt.report.model.elements.ExtendedItem.checkCompatibility(ExtendedItem.java:604) 
    at org.eclipse.birt.report.model.parser.ModuleParserHandler.handleExtendedItemCompatibility(ModuleParserHandler.java:431) 
    at org.eclipse.birt.report.model.parser.ModuleParserHandler.endDocument(ModuleParserHandler.java:393) 
    at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source) 
    at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source) 
    at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source) 
    at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.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.DTDConfiguration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:375) 
    at org.eclipse.birt.report.model.parser.ModuleReader.readModule(ModuleReader.java:94) 
    at org.eclipse.birt.report.model.parser.DesignReader.read(DesignReader.java:88) 
    at org.eclipse.birt.report.model.core.DesignSessionImpl.openDesign(DesignSessionImpl.java:315) 
    at org.eclipse.birt.report.model.api.SessionHandleImpl.openDesign(SessionHandleImpl.java:294) 
    at org.eclipse.birt.report.engine.parser.ReportParser.getDesignHandle(ReportParser.java:158) 
    at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:255) 
    at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign(ReportEngine.java:589) 
    at org.eclipse.birt.report.service.ReportEngineService.openReportDesign(ReportEngineService.java:383) 
    at org.eclipse.birt.report.utility.BirtUtility.getRunnableFromDesignFile(BirtUtility.java:594) 
    at org.eclipse.birt.report.context.ViewerAttributeBean.getDesignHandle(ViewerAttributeBean.java:654) 
    at org.eclipse.birt.report.context.ViewerAttributeBean.__init(ViewerAttributeBean.java:231) 
    at org.eclipse.birt.report.context.BaseAttributeBean.init(BaseAttributeBean.java:233) 
    at org.eclipse.birt.report.context.ViewerAttributeBean.<init>(ViewerAttributeBean.java:116) 
    at org.eclipse.birt.report.context.BirtContext.__init(BirtContext.java:44) 
    at org.eclipse.birt.report.context.BaseContext.<init>(BaseContext.java:69) 
    at org.eclipse.birt.report.context.BirtContext.<init>(BirtContext.java:30) 
    at org.eclipse.birt.report.servlet.ViewerServlet.__getContext(ViewerServlet.java:150) 
    at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:243) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 

J'ai vu avec succès rapport de démo intégré (inclus avec le téléchargement d'exécution BIRT) avec mon application existante, mais il n'a pas inclus un graphique, mon rapport fait. La trace de la pile indique que le graphique est la différence entre ne pas travailler et travailler.

Quelqu'un a-t-il des idées? Je ne peux pas supprimer le fichier xerces car mon application existante ne pourra pas être déployée. Y a-t-il un moyen de dire à BIRT d'ignorer tout ce qui pourrait être contenu dans le répertoire WEB-INF/lib?

Dans le cas où c'est pertinent; Mon serveur d'applications Web est Tomcat 5.5.

Répondre

3

Je crois que j'ai trouvé le problème.

Dans le répertoire WEB-INF/plate-forme/plugins (où les plates-formes est un répertoire spécifique BIRT) il y a un pot nommé org.apache.xerces_2.9.0.v200909240008.jar.

Je mets à jour mon jar Xerces vers la version 2.9 et semble fonctionner ... j'espère que cela aidera tous ceux qui pourraient aussi avoir ce problème!

1

J'ai le même problème, dans mon cas il s'est avéré être une version plus ancienne de Xerces sur le classpath (2.4). Enlever celui-là a résolu le problème.

Questions connexes