October 22, 2024
Chicago 12, Melborne City, USA
java

How do I resolve ClassNotFoundException?


I am trying to generate a print preview with jasper reports 7.0 in Netbeans, and i am using JDK 19. I have some records in database and i am trying to generate a print preview when a user clicks on a record. But so far i encounter this error anytime i click on the button to generate the preview.

Oct 20, 2024 10:32:22 AM net.sf.jasperreports.view.SaveContributorUtils createBuiltinContributors
WARNING: Error creating save contributor of type net.sf.jasperreports.pdf.view.save.JRPdfSaveContributor
java.lang.ClassNotFoundException: net.sf.jasperreports.pdf.view.save.JRPdfSaveContributor
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:495)
    at java.base/java.lang.Class.forName(Class.java:474)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:208)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:148)
    at net.sf.jasperreports.view.SaveContributorUtils.createBuiltinContributors(SaveContributorUtils.java:71)
    at net.sf.jasperreports.swing.JRViewerToolbar.initSaveContributors(JRViewerToolbar.java:689)
    at net.sf.jasperreports.swing.JRViewerToolbar.<init>(JRViewerToolbar.java:98)
    at net.sf.jasperreports.swing.JRViewer.createToolbar(JRViewer.java:307)
    at net.sf.jasperreports.swing.JRViewer.initComponents(JRViewer.java:280)
    at net.sf.jasperreports.swing.JRViewer.<init>(JRViewer.java:235)
    at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:276)
    at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:656)
    at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:588)
    at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:536)
    at pack.Main.jButton31ActionPerformed(Main.java:5045)
    at pack.Main$25.actionPerformed(Main.java:1302)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6620)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
    at java.desktop/java.awt.Component.processEvent(Component.java:6385)
    at java.desktop/java.awt.Container.processEvent(Container.java:2266)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4995)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

these are the libraries i am using for the jasper reports:

jasperreports-7.0.0.jar   openpdf-1.3.30.jar             commons-collections4-4.4.jar
commons-digester-2.1.jar  jcommon-1.0.23.jar             commons-beanutils-1.9.4.jar
ecj-3.30.0.jar            jfreechart-1.5.3.jar           commons-logging-1.2.jar
jackson-core-2.14.2.jar   jackson-databind-2.14.2.jar    jackson-annotations-2.14.2.jar
bcprov-jdk18on-1.72.jar   jasperreports-fonts-7.0.0.jar  commons-lang3-3.12.0.jar
bcutil-jdk18on-1.72.jar   log4j-core-2.19.0.jar          woodstox-core-6.4.0.jar
log4j-api-2.19.0.jar      stax2-api-4.2.1.jar            jackson-dataformat-xml-2.14.2.jar

the jdk version is JDK 19. The print priview sometimes opens with a blank page with no records from database. Please i will appreciate any assistance to make this work.

I was initially using JDK 22 but changed to JDK 19, should the JDK be the problem. I also modified and changed some of the jar library files hopping it will work out but still to no avail. This is the code below am using to get the records to print preview with jasper report:

con=Connector.db_connect();
    try{
    int row = clients_view.getSelectedRow();
    JasperDesign jd =JRXmlLoader.load("reports\\myClientStatement.jrxml");
    String table_click = (clients_view.getModel().getValueAt(clients_view.convertRowIndexToModel(row),
                    0).toString());
            String sgl="SELECT clients.*,client_savings.* FROM clients,client_savings where clients.unique_id='"+table_click+"'";
            JRDesignQuery newQuery = new JRDesignQuery();
            newQuery.setText(sgl);
            jd.setQuery(newQuery);
    JasperReport jr = JasperCompileManager.compileReport(jd);
    JasperPrint jp = JasperFillManager.fillReport(jr,null,con);
    JasperViewer.viewReport(jp,false);
    }catch(JRException e){
    JOptionPane.showMessageDialog(null,e);
    } 



You need to sign in to view this answers

Leave feedback about this

  • Quality
  • Price
  • Service

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video