I'm building a web application running on Liberty profile 8.5 using BIRT. The web application includes all BIRT needed libs in WEB-INF/lib folder, but I have the following exception in birt logs just when I run chart reports (not for text reports):
WARNING: Exception org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Package with uri 'http://www.birt.eclipse.org/ChartModel' not found. (file:///opt/IBM/WLP-8.5.5/usr/servers/IBMWTC/test.chart, 1, 314) at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.handleErrors(XMLLoadImpl.java:77) at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:185) at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:261) at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1518) at org.eclipse.birt.chart.model.impl.SerializerImpl.fromXml(SerializerImpl.java:465) ... ...
Caused by: org.eclipse.emf.ecore.xmi.PackageNotFoundException: Package with uri 'http://www.birt.eclipse.org/ChartModel' not found. (file:///opt/IBM/WLP-8.5.5/usr/servers/IBMWTC/test.chart, 1, 314) at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getPackageForURI(XMLHandler.java:2625) ... ...
The only way to make it working is to set the classloader to 'parentlast' in the server.xml:
<webApplication ...>
<classloader delegation="parentLast"/>
</webApplication>
but this setting makes the application not working with other framework (as jsf 2.0 defined at server level through the related liberty feature).