Erro no .jar com postgresql

17 respostas Resolvido
A

Pessoal eu criei meu .jar com todas as minhas dependencias criando assim: abo o build.xml do projeto e colo cod abaixo:

`

<property name="store.jar.name" value="Nome do Projeto"/>  

    <property name="store.dir" value="store"/>  
    <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>  

    <echo message="Packaging ${store.jar.name} into a single JAR at ${store.jar}"/>  

    <delete dir="${store.dir}"/>  
    <mkdir dir="${store.dir}"/>  

    <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">  
        <zipgroupfileset dir="dist" includes="*.jar"/>  
        <zipgroupfileset dir="dist/lib" includes="*.jar"/>  

        <manifest>  
            <attribute name="Main-Class" value="${main.class}"/>                  
        </manifest>  
    </jar>  

    <zip destfile="${store.jar}">  
        <zipfileset src="${store.dir}/temp_final.jar"  
        excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>  
    </zip>  

    <delete file="${store.dir}/temp_final.jar"/>  

</target> `

ai ele cria de boa minha pasta store mas quando executo o projeto dar erro no banco no driver…

17 Respostas

JeanJavaMan

tem q ver qual o erro que dá, mas o erro deve dá é na Classe que se conecta com o Banco não é não?

A

vou mandar uma imagem do erro p vc jean porque dar no JOptionPane , mas voce entendeu oque eu quiz lhe transmitir neh @JeanJavaMan ??

JeanJavaMan

Bom talvez não, oq vc queria transmitir então?

A

E que to criando um .jar da minha aplicação ai quando eu crio no netBeans não crio so no “limpar e contruir” mas coloco esse xml para criar todas as dependencias do projeto mas dar o erro de BD ja te mando o erro cara… fui claro @JeanJavaMan?

JeanJavaMan

Tranquilo amigo, mas esse xml vc que modifica na mão? para ele ter a todas as dependências?

A

não não manow so blog que peguei o cod diz que uma forma padrao ai cria a pasta Store e la tem meu .jar mas dar esse erro amigo…

JeanJavaMan

Bom ele está dizendo q não encontrou esse drive ai no seu código, tem como vc me mostra o seu codigo onde vc chama esse Drive do jdbc ou melhor onde vc se conecta nesse banco?

A

minha classe de conexao…

public class ConectaBanco {

public Statement stm;//Responsavel por realizar a perquisa no banco de dados
public ResultSet resul;//Responsavel por armazenar o resultado no banco de dados

private String drive = "org.postgresql.Driver";//drive de conexao jdbc do postgreSql
private String caminho = "jdbc:postgresql://localhost:5432/sisgae";//passa o caminho do banco postgre para o driver de conexao
private String usuario = "postgres";//usuario padrao do banco de dados
private String senha = "12345";//senha do bd

public Connection conn;//Responsavel pela conexao com banco de dados

public void conexao() {//metoto para conexao

    try {//Tentativa inicial

        System.setProperty("jdbc.Drivers", drive);//Seta a propriedade do driver de conexao
        conn = DriverManager.getConnection(caminho, usuario, senha);//Conexao pelo DriverManager passando caminho,usuario,sennha como parametro

        //JOptionPane.showMessageDialog(null, "Conectado com sucesso!");
    } catch (SQLException ex) {//Excessao
        JOptionPane.showMessageDialog(null, "Erro ao Conectar! \n Erro" + ex.getMessage());
    }

}

public void executaSQL(String sql) {//metodo para fazer pesquisa
    try {
        stm = conn.createStatement(resul.TYPE_SCROLL_INSENSITIVE, resul.CONCUR_READ_ONLY);
        resul = stm.executeQuery(sql);
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Erro de executaSQL! \n Erro" + ex.getMessage());
    }
}

public void desconecta() {//metodo para desconectar o banco
    try {

        conn.close();//fecha o banco

    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Erro ao Desconectar! \n Erro" + ex.getMessage());
    }
}

}``

ai se vc quiser dar uma olhada onde peguei o cod de gerar o .jar nesse topico

A

ah e so p avisar @JeanJavaMan no netBeans não dar nenhum erro e executa minha aplicação de boa…

JeanJavaMan

Bom altera seu código e coloca essa parte aqui na em conexão em baixo do System.setProperty:

Class.forName(drive);

dica geralmente fazemos dessa maneira aqui a declaração de variaveis:

private static final String DRIVER = "org.postgresql.Driver";

e se vc quiser pode colocar apenas localhost:

"jdbc:postgresql://localhost/sisgae"
A

ta criando aqui o .jar com as alterações @JeanJavaMan ai daqui ums 5 min lhe dou retorno amigo…

A

agora deu erro ao “limpar e construir” segue o erro abaixo:
ant -f C:\\Users\\Alan\\Desktop\\SISGAEsistema -Dnb.internal.action.name=rebuild clean jar init: deps-clean: Updating property file: C:\Users\Alan\Desktop\SISGAEsistema\build\built-clean.properties Deleting directory C:\Users\Alan\Desktop\SISGAEsistema\build clean: init: deps-jar: Created dir: C:\Users\Alan\Desktop\SISGAEsistema\build Updating property file: C:\Users\Alan\Desktop\SISGAEsistema\build\built-jar.properties Created dir: C:\Users\Alan\Desktop\SISGAEsistema\build\classes Created dir: C:\Users\Alan\Desktop\SISGAEsistema\build\empty Created dir: C:\Users\Alan\Desktop\SISGAEsistema\build\generated-sources\ap-source-output Compiling 64 source files to C:\Users\Alan\Desktop\SISGAEsistema\build\classes C:\Users\Alan\Desktop\SISGAEsistema\src\Controle\ControleAluno.java:15: error: unreported exception SQLException; must be caught or declared to be thrown conectaAluno.conexao();//conexao C:\Users\Alan\Desktop\SISGAEsistema\src\Controle\ControleAluno.java:78: error: unreported exception SQLException; must be caught or declared to be thrown conectaAluno.conexao();//conectando banco para o metodo Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 2 errors C:\Users\Alan\Desktop\SISGAEsistema\nbproject\build-impl.xml:924: The following error occurred while executing this line: C:\Users\Alan\Desktop\SISGAEsistema\nbproject\build-impl.xml:264: Compile failed; see the compiler error output for details. FALHA NA CONSTRUÇÃO (tempo total: 11 segundos)

A

@JeanJavaMan se der me mande ai o meu cod de conexao que mandei acima com suas modificações p ver se deu certo aqui pq posso ter colocado errado manow…

JeanJavaMan

caracas que erros em kk pow vou editar seu code aqui

JeanJavaMan
Solucao aceita
public void conexao() {//metoto para conexao

    try {//Tentativa inicial

        //System.setProperty("jdbc.Drivers", drive);//Seta a propriedade do driver de conexao
        Class.forName(DRIVE);
        conn = DriverManager.getConnection(CAMINHO, USUARIO, SENHA);//Conexao pelo DriverManager passando caminho,usuario,sennha como parametro

        //JOptionPane.showMessageDialog(null, "Conectado com sucesso!");
    } catch (SQLException ex) {//Excessao
        JOptionPane.showMessageDialog(null, "Erro ao Conectar! \n Erro" + ex.getMessage());
    }

}

e deixa as declarações do banco assim:

private static final String DRIVE = "org.postgresql.Driver";//drive de conexao jdbc do postgreSql
private static final String CAMINHO = "jdbc:postgresql://localhost:5432/sisgae";//passa o caminho do banco postgre para o driver de 
private static final String USUARIO = "postgres";//usuario padrao do banco de dados
private static final String SENHA = "12345";//senha do bd

é assim q eu faço aqui:

A

Caramba @JeanJavaMan sempre me ajudando, deu certo aqui cara você é demais hehe :slightly_smiling: aguarde que outras duvidas e problemas irei lhe atormentar de novo hehe :smile:

JeanJavaMan

kkkkk tranquilo jovem fico feliz que tenha funcionado ai :smile:

Criado 5 de março de 2016
Ultima resposta 6 de mar. de 2016
Respostas 17
Participantes 2