Problem with SAXParserFactoryImpl dependency

Alex Pasquini, modified 5 Years ago. Junior Member Posts: 38 Join Date: 3/3/20 Recent Posts
Hi all,
I’m experiencing an error related to SAXParserFactoryImpl class due to transitive dependencies on net.sf.jasperreports library.
I’m developing a service module on Liferay CE 7.3 GA1, using Java 1.8 and maven.The error I get is the following:
Caused by: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
        at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
        at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.createSAXParserFactory(BaseSaxParserFactory.java:142)
        at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.createParser(BaseSaxParserFactory.java:116)
        at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1598)
        at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1567)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:264)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:220)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:195)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:186)
        at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:289)
        at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:576)
        at biz.simposium.business.el01.budgetanalysis.service.impl.EL01_BudgetAnalysisLocalServiceImpl.createReport(EL01_BudgetAnalysisLocalServiceImpl.java:178)
        at biz.simposium.business.el01.budgetanalysis.service.impl.EL01_BudgetAnalysisLocalServiceImpl.addEL01_BudgetAnalysis(EL01_BudgetAnalysisLocalServiceImpl.java:146)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
        at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69)
        at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
        at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:60)
        at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
        at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
        at com.sun.proxy.$Proxy1269.addEL01_BudgetAnalysis(Unknown Source)
        at biz.simposium.presentation.wizard.RequiredInputController.readDocument(RequiredInputController.java:371)
        at biz.simposium.presentation.wizard.RequiredInputController.addBilancio(RequiredInputController.java:350)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181)
        at com.sun.el.parser.AstValue.invoke(AstValue.java:289)
        at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
        at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
I checked the /liferay-ce-portal-7.3.0-ga1/tomcat-9.0.17/webapps/ROOT/WEB-INF/lib folder and the previous jar is included.
I guess the library is included as jar from tomcat classloader.
I tried to:
1. Include on Pom.xml the xercesImpl dependency with compiled scope. I got the same error
2. Include on pom.xml the xercesImpl dependency with provided scope. I got the same error
3. Remove the xercesImpl from Pom.xml. I got the same error.
I tried to search on google the error related to xercesImpl libraries, anyway I have not found the solution.
Have you ever experienced this problem? How did you solved it?
Thank you.
Best regards,
Alex