ola
tenho um problema com o jasper report, os relatorios executaveis funciona blz no netbeans, so que no arquivo.jar o executavel nao funciona.
sera que alguem pode me ajudar?
ola
tenho um problema com o jasper report, os relatorios executaveis funciona blz no netbeans, so que no arquivo.jar o executavel nao funciona.
sera que alguem pode me ajudar?
Olá,
Chame seu aplicativo pelo terminal, assim pode verificar se alguma Exception é disparada quando você tenta acessar um relatório.
Para isso chame seu aplicativo com o comando:
java -jar nome_do_app.jar
[ ]'s
Ola Everton
Nao entendi, é para chmar o aplicativo pelo prompt de comando ou outro caso, se for pelo propmt de comando nao deu certo nao.
Olá,
Sim, chame pelo prompt de comando.
Verifique se está no mesmo diretório do arquivo jar antes. No Windows 7 o prompt é iniciado no diretório do usuário.
[ ]'s
Ola boa tarde
Não está dando certo não, ele da a seguinte mensagem " ‘java’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes"
Olá,
Isso acontece porque você não configurou corretamente o jdk, faltou adicionar o caminho dos binários na variável path do sistema.
No primeiro tópico desse tutorial é mostrado como alterar essa variável:
Ola bom dia
Ele da o seguinte erro.
C:\Users\Raquel\Desktop\CONTROLE DE ESTOQUE SICREDI\ControleDeEstoqueSicredi\dis
t>java -jar ControleDeEstoqueSicredi.jar
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fai
lure
The last packet sent successfully to the server was 0 milliseconds ago. The driv
er has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1
118)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:343)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2
308)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:774)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:289)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at br.com.ControleDeEstoqueSicredi.bean.Conexao.getConection(Conexao.jav
a:29)
at br.com.ControleDeEstoqueSicredi.View.Menu.jMenuItem15ActionPerformed(
Menu.java:653)
at br.com.ControleDeEstoqueSicredi.View.Menu.access$1900(Menu.java:23)
at br.com.ControleDeEstoqueSicredi.View.Menu$20.actionPerformed(Menu.jav
a:401)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:20
18)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259
)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:8
33)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMen
uItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
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:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDo
main.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketI
mpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja
va:337)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket
Impl.java:198)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java
:180)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.(Socket.java:425)
at java.net.Socket.(Socket.java:241)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.ja
va:256)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:292)
… 55 more
Olá,
Parece ser um problema com a sua conexão com o banco de dados.
Esse problema só acontece quando você executa o programa pelo jar? Acontece logo que você abre o programa ou quando acessa algo específico?
Se você está se conectando a um banco remotamente, verifique se este banco está configurado para receber conexões remotas. Ou se estiver carregando as configurações da conexão de um arquivo, verique se estão corretas.
[ ]'s
Ola quando eu executo pelo netbeans os relatorios funciona normalmente, mas quando eu acesso algum relatorio no arquivo.jar o relatorio nao funciona.
As telas do sistema eu conecto ao banco de dados atraves da aba serviços do netbeans, mas os relatorios eu acesso atraves de uma classe.
O banco utilizado é o mysql.
Neste caso poderia ser algum erro na classe de conexão?
Pois na mesma nao apresenta erro algum.
Olá,
Quando você chama um relatório tem que passar uma conexão certo? Poste como você está chamando os relatórios e a classe a que fornece a conexão para o jasper.
[ ]'s
ASSIM EU CHAMO O RELATORIO
try{
Connection con = new Conexao().getConection();
HashMap parametro = new HashMap();
JasperPrint jp = JasperFillManager.fillReport("./src/br/com/ControleDeEstoqueSicredi/jasper/Produtos.jasper", parametro, con);
JasperViewer jrv = new JasperViewer(jp);
JasperViewer.viewReport(jp, false);
}
ESSA É A CLASSE DE CONEXÃO
/*
package br.com.ControleDeEstoqueSicredi.bean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
/**
*
@author Diego
*/
public class Conexao {
public static PreparedStatement prepareStatement(String string) {
throw new UnsupportedOperationException(“Not yet implemented”);
}
public Connection getConection(){
try{
Class.forName(“com.mysql.jdbc.Driver”);
String driver = “jdbc:mysql://localhost/controledeestoquesicredi”;
Connection con = DriverManager.getConnection(driver, “root”,"");
return con;
}
catch(Exception e){
e.printStackTrace();
}
return null;
}
}
Olá,
Eu acho essa parte do seu código está errada:
JasperPrint jp = JasperFillManager.fillReport("./src/br/com/ControleDeEstoqueSicredi/jasper/Produtos.jasper", parametro, con);
Quando trabalho com relatórios costumo deixá-los fora do .jar, em uma pasta chamada ‘relatorios’.
Tente o seguinte:
1- Crie uma pasta chamada ‘relatorios’ na raiz do seu projeto.
2- Compile seus relatórios e mova para essa pasta apenas os *.jasper
3- Altere a forma como chama os relatórios para:
JasperPrint jp = JasperFillManager.fillReport("relatorios/nome_do_rel.jasper", parametro, con);
4- Quando gerar o .jar (Limpar e construir) copie a pasta ‘relatorios’ para dentro da pasta ‘dist’.
Não tenho certeza se isso vai resolver seu problema pois o stacktrace mostrava algo relacionado a conexão, mas teste ai e poste os resultados.
[ ]'s
Ola Everton, boa tarde
Vaaleu Cara deu tudo certo, agora esta chamando todos os relatórios no arquivo.jar.
Muito obrigado voce me ajudou muito, valeuuuuuuuuuuuuuuu…
Precisando mestou a disposição.
Olá,
Que bom que deu tudo certo, altere o título do tópico para algo que represente melhor o seu problema (Falha ao chamar arquivos .jasper, por exemplo) e adicione um [Resolvido] pra caso alguém tenha o mesmo problema.
[ ]'s
resolvido.