Class not found error in web-client not in smart-client

We extended the jasperreport plugin (Basic v3.0.1) with an extension fonts jar and the spring.jar to make fonts used in reports available. In the smartclient this works perfect, however in web-client we’ll get a class not found error. Is there a difference between smart-client and web-client on how they resolve classes ? The mentioned class should be available.

This is the error we get:

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [net.sf.jasperreports.engine.fonts.SimpleFontFamily] for bean with name 'fontBean127175352664789610' defined in URL [jar:file:/D:/Program%20Files/Servoy_5_1_0/developer/../application_server/plugins/servoy_jasperreports/jasper_fonts_extension.jar!/fonts/fonts1271753526647.xml]; nested exception is java.lang.ClassNotFoundException: net.sf.jasperreports.engine.fonts.SimpleFontFamily
     at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1160)
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:581)
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:206)
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:184)
     at net.sf.jasperreports.extensions.SpringExtensionsRegistry.findExtensionBeanNames(SpringExtensionsRegistry.java:99)
     at net.sf.jasperreports.extensions.SpringExtensionsRegistry.getExtensionBeanNames(SpringExtensionsRegistry.java:90)
     at net.sf.jasperreports.extensions.SpringExtensionsRegistry.getExtensions(SpringExtensionsRegistry.java:67)
     at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:103)
     at net.sf.jasperreports.engine.fill.JRFillDataset.createScriptlets(JRFillDataset.java:457)
     at net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues(JRFillDataset.java:578)
     at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1246)
     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:877)
     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:826)
     at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:59)
     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
     at com.servoy.plugins.jasperreports.JasperReportRunner.getJasperPrint(JasperReportRunner.java:244)
     at com.servoy.plugins.jasperreports.JasperReportsServer.getJasperPrint(JasperReportsServer.java:214)
     at com.servoy.plugins.jasperreports.JasperReportsServer.jasperReport(JasperReportsServer.java:227)
     at com.servoy.plugins.jasperreports.JasperReportsProvider.runReport(JasperReportsProvider.java:366)
     at com.servoy.plugins.jasperreports.JasperReportsProvider.js_runReport(JasperReportsProvider.java:290)
     at com.servoy.plugins.jasperreports.JasperReportsProvider.js_runReport(JasperReportsProvider.java:286)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:179)
     at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:353)
     at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3666)
     at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2680)
     at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:166)
     at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:387)
     at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3127)
     at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:165)
     at com.servoy.j2db.scripting.Ztb.executeFunction(Ztb.java:44)
     at com.servoy.j2db.scripting.Zub.executeFunction(Zub.java:17)
     at com.servoy.j2db.Zwb.Za(Zwb.java:644)
     at com.servoy.j2db.Zwb.Za(Zwb.java:1134)
     at com.servoy.j2db.Zcc.Za(Zcc.java:3)
     at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:17)
     at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:29)
     at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:44)
     at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.onEvent(WebEventExecutor.java:220)
     at com.servoy.j2db.server.headlessclient.dataui.Zud.onEvent(Zud.java:9)
     at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
     at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:299)
     at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
     at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
     at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
     at com.servoy.j2db.server.servlets.Zk.doGet(Zk.java:14)
     at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
     at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.fonts.SimpleFontFamily
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
     at org.springframework.util.ClassUtils.forName(ClassUtils.java:230)
     at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:371)
     at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1157)
     ... 68 more

Anyone any ideas on how to resolve this ?

Thanks in advance,

Hi,

This issue has been fixed and the fix is available in the next release of the Servoy JasperReports Plugin.
Also, further details shall be given along with the next release.

Regards,
Andrei

Hi Andrei,

Can you please comment a little bit more on progress with the “next release of the Servoy JasperReports Plugin”.

I am experiencing similar error such as reported on this thread:

Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [net.sf.jasperreports.engine.fonts.SimpleFontFamily] for bean with name 'dejaVuSansFamily' defined in URL [jar:file:/C:/Program%20Files/ServoyF5/application_server/plugins/servoyJasper/servoy_jasperreports/jasperreports-fonts-3.6.1.jar!/net/sf/jasperreports/fonts/fonts.xml]; nested exception is java.lang.ClassNotFoundException: net.sf.jasperreports.engine.fonts.SimpleFontFamily 
     at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1160) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:581) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:206) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:184) 
     at net.sf.jasperreports.extensions.SpringExtensionsRegistry.findExtensionBeanNames(SpringExtensionsRegistry.java:99) 
     at net.sf.jasperreports.extensions.SpringExtensionsRegistry.getExtensionBeanNames(SpringExtensionsRegistry.java:90) 
     at net.sf.jasperreports.extensions.SpringExtensionsRegistry.getExtensions(SpringExtensionsRegistry.java:67) 
     at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:103) 
     at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:76) 
     ... 59 more 
    Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.fonts.SimpleFontFamily 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) 
     at org.springframework.util.ClassUtils.forName(ClassUtils.java:230) 
     at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:371) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1157)

Is this next release ready? If it is, could you kindly post a link to where to get it?

Regards,

Is anyone facing this issue, have a look at the following howto:

Have a look at
http://www.servoy.com/forum/viewtopic.php?f=15&t=13695
and
http://jasperforge.org/plugins/espforum … icid=67554

Regards,