java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JRException

3 respostas
jasperjavafx
R

Boa noite!

Fiz um projeto desktop com javafx e Jasper Reports no eclipse. O projeto está funcionando pela IDE, porém ao importar o jar e executar pelo prompt surgia mensagem abaixo, não consegui resolver, alguém poderia me ajudar.

Exception in thread JavaFX Application Thread java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

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

at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)

at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)

at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)

at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)

at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)

at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)

at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)

at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)

at javafx.event.Event.fireEvent(Event.java:198)

at javafx.scene.Node.fireEvent(Node.java:8413)

at javafx.scene.control.Button.fire(Button.java:185)

at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)

at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)

at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)

at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)

at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)

at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)

at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)

at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)

at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)

at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)

at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)

at javafx.event.Event.fireEvent(Event.java:198)

at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)

at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)

at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)

at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)

at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)

at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)

at java.security.AccessController.doPrivileged(Native Method)

at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:417)

at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)

at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)

at com.sun.glass.ui.View.handleMouseEvent(View.java:555)

at com.sun.glass.ui.View.notifyMouse(View.java:937)

at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)

at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.reflect.InvocationTargetException

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 sun.reflect.misc.Trampoline.invoke(Unknown Source)

at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at sun.reflect.misc.MethodUtil.invoke(Unknown Source)

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

 48 more

Caused by: java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JRException

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)

at java.lang.Class.getConstructor0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at sun.reflect.misc.ReflectUtil.newInstance(Unknown Source)

at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:927)

at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)

at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)

at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)

at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)

at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)

at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)

at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)

at com.reginaldolopes.contagemtempo.ContagemServicoMain.resultadoContagem(ContagemServicoMain.java:61)

at com.reginaldolopes.contagemtempo.controller.ContagemServicoController.contaTempoServico(ContagemServicoController.java:164)

 58 more

Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JRException

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

 73 more

Estou usano essas libs

<div class="lightbox-wrapper"><a class="lightbox" href="/uploads/3X/2/5/257178d733992c6bdfdb8f9646d95a2b63c1bc6a.PNG.webp" data-download-href="/uploads/default/257178d733992c6bdfdb8f9646d95a2b63c1bc6a" title="lib.PNG"><img src="/uploads/3X/2/5/257178d733992c6bdfdb8f9646d95a2b63c1bc6a.PNG.webp" width="461" height="500" data-small-upload="/uploads/3X/2/5/257178d733992c6bdfdb8f9646d95a2b63c1bc6a.png.webp"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg>lib.PNG487×528 10.9 KB<svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg>
</div></a></div>

3 Respostas

S

Pelo jeito as bibliotecas não estão no classpath da aplicação ao executar em linha de comando.
Após exportar o JAR, você conferiu se estas bibliotecas estão no MANIFEST.MF?

R

Eleas não estão no MANIFEST.MF estão no .classpath

<?xml version="1.0" encoding="UTF-8"?>
S

Não dá pra visualizar seu código XML pois você não usou o botão </> do fórum.
De qualquer forma, .classpath é um arquivo do eclipse, não é usado pelo seu JAR, o classpath que me refiro é informado via linha de comando com o parâmetro -cp ou -classpath, mas o ideal é você definir no MANIFEST.MF.
Tem ainda a opção de você exportar um FAT JAR, incluindo todas as dependências em um único arquivo, mas não acho interessante.

Criado 6 de julho de 2017
Ultima resposta 10 de jul. de 2017
Respostas 3
Participantes 2