Boa Tarde, estou desenvolvendo uma aplicação que possui alguns relatorios, segue um exemplo do código de chamada de relatorios:
Connection con;
AcessoBD acessoBD = new AcessoBD(ip);
con = acessoBD.conectar();
String sub = "./jasper/";
HashMap parametros = new HashMap();
parametros.put("SUBREPORT_DIR",sub);
JasperPrint jp = JasperFillManager.fillReport("./jasper/Estoque_Produto.jasper", parametros, con);
JasperViewer jrv = new JasperViewer(jp, false);
jrv.setVisible(true);
O meu arquivo jasper se encontra fora da src, antes de ser gerado o .jar o relatorio é chamado perfeitamente, já quando o .jar é gerado e eu executo a aplicação por ele, apresenta o seguinte erro(Visualizei o erro pelo prompt):
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: .\jasper\Estoque_Produto.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:110)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:99)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:272)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745)
at consultas.Cons_EstoqueProduto.jb_imprimirActionPerformed(Cons_EstoqueProduto.java:297)
at consultas.Cons_EstoqueProduto.access$200(Cons_EstoqueProduto.java:27)
at consultas.Cons_EstoqueProduto$4.actionPerformed(Cons_EstoqueProduto.java:221)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.io.FileNotFoundException: .\jasper\Estoque_Produto.jasper
... 43 more
A procura de solucionar o erro, abri o .jar pelo winrar e vi que ele não continha o arquivo .jasper, então coloquei o .jasper dentro da src para que quando gerado o .jar o arquivo ficasse dentro do .jar, mas mesmo assim apresenta o mesmo erro.
Por favor, alguem me ajude.