To tentando usar JasperReport, porem esta dando um erro, uso Javafx

5 respostas
javafxjasperjava
K

Gente tentei usar jasper report pela primeira fez, porem esta dando esse erro aki

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1787)
at javafx.fxml/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670)
at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
at javafx.controls/javafx.scene.control.MenuItem.fire(MenuItem.java:459)
at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1380)
at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(ContextMenuContent.java:1333)
at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Scene.java:3862)
at javafx.graphics/javafx.scene.Scene.processMouseEvent(Scene.java:1849)
at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2590)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:409)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:299)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:447)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:411)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:446)
at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:556)
at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:942)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.reflect.InvocationTargetException

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:567)

at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76)

at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:567)

at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:273)

at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83)

at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1782)

 42 more

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

at net.sf.jasperreports.engine.util.JRLoader.(JRLoader.java:81)

at net.sf.jasperreports.engine.JRPropertiesUtil.loadProperties(JRPropertiesUtil.java:102)

at net.sf.jasperreports.engine.DefaultJasperReportsContext.initProperties(DefaultJasperReportsContext.java:108)

at net.sf.jasperreports.engine.DefaultJasperReportsContext.(DefaultJasperReportsContext.java:85)

at net.sf.jasperreports.engine.DefaultJasperReportsContext.(DefaultJasperReportsContext.java:68)

at net.sf.jasperreports.engine.JasperCompileManager.getDefaultInstance(JasperCompileManager.java:201)

at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:576)

at scout.tcc.controladores.relatorios.RelatorioJogBasico.showReport(RelatorioJogBasico.java:21)

at scout.tcc.controladores.ControladorLogado.relatorioJB(ControladorLogado.java:139)

 53 more

Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)

at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)

 62 more

não sei bem o porque aki esta o meu codigo

package scout.tcc.controladores.relatorios;
import net.sf.jasperreports.engine.*;

import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import net.sf.jasperreports.swing.JRViewer;
import javax.swing.*;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.HashMap;

public class RelatorioJogBasico extends JFrame {

private static final long serialVersionUID = 1L;

public void showReport() throws JRException, ClassNotFoundException, SQLException {

    String reportSrcFile = "C:/Users/KEVIN/MeuTcc/src/main/resources/scout/tcc/relatorios/ScoutRel.jrxml";

    // First, compile jrxml file.
    JasperReport jasperReport = JasperCompileManager.compileReport(reportSrcFile);
    // Fields for report
    HashMap<String, Object> parameters = new HashMap<String, Object>();

    parameters.put("CodJog", "MAROTHIA TECHS");
    parameters.put("NomeJog", "RE101");
    parameters.put("TelJog", "Khushboo");
    parameters.put("EndeJog", "10000");
    parameters.put("TimeTituJog", "EMI Payment");
    parameters.put("EmailJog", "20-12-2016");

    ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
    list.add(parameters);

    JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(list);
    JasperPrint print = JasperFillManager.fillReport(jasperReport, null, beanColDataSource);
    JRViewer viewer = new JRViewer(print);
    viewer.setOpaque(true);
    viewer.setVisible(true);
    this.add(viewer);
    this.setSize(700, 500);
    this.setVisible(true);
    System.out.print("Done!");

}

}

e nesse botao eu abro o relatorio

try {
        // --- Show Jasper Report on click-----
        new RelatorioJogBasico().showReport();
    } catch (ClassNotFoundException | JRException | SQLException e1) {
        e1.printStackTrace();
    }

o caminho do arquivo esta correto, nao sei porque esta acontecendo isso, me ajudem por favor

5 Respostas

K

Se tiver alguma forma melhor de fazer o codigo, nao sei bem se essa é eficaz

Andrauss

O erro está aqui, provavelmente está faltando alguma biblioteca, se bem me lembro deve ser a Commons Logging.

K

estrenho nao tem essa opçao nos dowload, só coloquei a primeira opçao do dowload, jaspereport-javaflow

K

Mano puta que pariu, ja adicionei umas 15 livrarias, essa merda sempre pede mais mano, como assim https://imgur.com/a/TWa2q5f OLHA ISSO

darlan_machado

Tá aí a causa.

Criado 30 de setembro de 2019
Ultima resposta 1 de out. de 2019
Respostas 5
Participantes 3