Configuracao do banco de dados dentro de um jar

3 respostas
derickcp
galera criei um programinha que eu pego um arquivo txt e gravo no bando de dados

ele funciona lindo rodando pelo eclipse

mas quando crio o jar e mando rodar a partir do mesmo ele da um erro

segue o erro abaixo

java.lang.ClassNotFoundException: org.postgresql.Driver

at java.net.URLClassLoader$1.run(Unknown Source)

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

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)

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

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

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

at br.usjt.robosistema.InserirDados.fazerInsert(InserirDados.java:12)

a parte do codigo que ele da problema pelo jeito eh na configuracao do driver do postgre
:

package br.usjt.robosistema;
import java.sql.*;

public class InserirDados {
	
	public void fazerInsert(Dados dados){
	
	Connection con = null;
		
		try {
			// Este é um dos meios para registrar um driver  
			 Class.forName( "org.postgresql.Driver" ).newInstance();  
	        
	        //Criacao da conexao
	        //con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "derickcp", "cout87");
	        con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "rodrigo", "1234");
	        
	        //Meu SQL
	        String SQL = "INSERT INTO dados VALUES (nextval('dados_iddado_seq'), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, to_char(current_timestamp, 'dd/MM/yyyy HH24:MI:SS'), 'S1')";
	        
	        PreparedStatement pstmt = con.prepareStatement(SQL);
	        
	        int i = 1;
	        pstmt.setString(i++, dados.getCargaBateria());
               ....

	        pstmt.executeUpdate();
	        	            
	    } catch( Exception e ) {
	    	e.printStackTrace();
	    } finally {
        try {
          con.close();
        } catch (SQLException onConClose) {
          System.out.println(" Houve erro no fechamento da conexão ");
          onConClose.printStackTrace();
        }
    }
  }
}

alguem poderia me ajudar?

3 Respostas

B

Qual comando que você usa p/ rodar o jar? Ou é com dois cliques em cima dele?

eduveks

vc tem q definir o class path, vc ta correndo o jar sem as dependencias, vc tem q setar o class path passando os outros jars q o teu jar precisa para rodar, como no caso o jar do postgresql.

java -cp “postgresql.jar” -jar MeuJar.jar

derickcp

vou dar uma testada logo mais e dou uma resposta
ate agora agradeco

Criado 13 de agosto de 2008
Ultima resposta 14 de ago. de 2008
Respostas 3
Participantes 3