Ошибка предварительного просмотра отчетов Jasper в Netbeans: 'java.lang.ClassNotFoundException: net.sf.jasperreports.pdfJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка предварительного просмотра отчетов Jasper в Netbeans: 'java.lang.ClassNotFoundException: net.sf.jasperreports.pdf

Сообщение Anonymous »

Я пытаюсь создать предварительный просмотр печати с помощью отчетов Jasper версии 7.0 в Netbeans и использую JDK 19. У меня есть несколько записей в базе данных, и я пытаюсь создать предварительный просмотр печати, когда пользователь нажимает на запись. Но до сих пор я сталкиваюсь с этой ошибкой каждый раз, когда нажимаю кнопку для создания предварительного просмотра.
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.(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.(JRViewer.java:235)
at net.sf.jasperreports.view.JasperViewer.(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)

это библиотеки, которые я использую для отчетов Jasper:
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

версия jdk — JDK 19. Привилегированный просмотр печати иногда открывается с пустой страницей без записей из базы данных. Пожалуйста, я буду признателен за любую помощь, чтобы это заработало.
Изначально я использовал JDK 22, но перешел на JDK 19, если проблема в JDK. Я также модифицировал и изменил некоторые файлы библиотеки jar, надеясь, что это сработает, но все равно безрезультатно. Это код ниже, который я использую, чтобы получить записи для предварительного просмотра печати с отчетом Jasper:
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);
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... undexcepti
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»