Je débute avec Jasper et au travail on me demande de l'utiliser pour une génération de rapport en PDF, enfin bref.
Nous sommes entrain de développer une application en J2E et je développe donc mon code pour les rapports de mon côté. Sauf que la avec le code que j'ai réalisé j'ai un JavaNotFileException et je ne comprends pas pourquoi il ne trouve pas mon fichier ...
Si vous pouviez m'aider, cela m'aiderait beaucoup, je vous mets mon code juste en dessous.
Merci d'avance
Classe ImmeubleReportBean :
final String path ="\\report\\edci.jrml";
final File file = new File(path);
final InputStream inputStream = new FileInputStream(file);
final ArrayList<ImmeubleReportBean> dataBeanList = createBeanCollection();
final JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(dataBeanList);
final Map parameters = new HashMap();
final JasperDesign jasperDesign = JRXmlLoader.load(inputStream);
final JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint;
jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, beanColDataSource);
JasperExportManager.exportReportToPdfFile(jasperPrint, "D:/utilisateurs/n.rio3/Documents/report/test_jasper.pdf");
final URL path =ImmeubleReportBean.class.getResource("/edci.jrxml");
final File file = new File(path.toString());
final InputStream inputStream = new FileInputStream(file);
Je viens d'essayer ça mais ça ne fonctionne pas non plus il me dit que mon path est null
bonjour à tous, je suis un debutant en JasperReport. j'utilise NetBeans et iReport.
le problème est que quand j'exécute mon projet dans NetBeans, tout marche parfaitement mais quand je le compile, je n'arrive plus à afficher mes états (les fichiers .jrxml) et je reçois le message d'erreur :
Exception in thread "AWT-EventQueue-0" net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error saving expressions class file : C:\report32name_1599305075645_900313.java
at net.sf.jasperreports.engine.design.JRAbstractCompiler.getSourceFile(JRAbstractCompiler.java:316)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.createCompileUnit(JRAbstractCompiler.java:282)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:177)
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:354)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:614)
at org.clinique.frames.PAN_PRODUITS.btnImprimerActionPerformed(PAN_PRODUITS.java:604)
at org.clinique.frames.PAN_PRODUITS.access$1200(PAN_PRODUITS.java:47)
at org.clinique.frames.PAN_PRODUITS$12.actionPerformed(PAN_PRODUITS.java:282)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: net.sf.jasperreports.engine.JRException: Error saving expressions class file : C:\report32name_1599305075645_900313.java
at net.sf.jasperreports.engine.util.JRSaver.saveClassSource(JRSaver.java:165)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.getSourceFile(JRAbstractCompiler.java:312)
@dogofolo Bonjour, merci de ne pas déterrer d'ancien sujet, créer le votre avec le code que vous avez écrit en utilisant le bouton code </> de la barre d'outil du forum.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Je viens d'essayer ça mais ça ne fonctionne pas non plus il me dit que mon path est null