Duvida sobre classpath

6 respostas
Rafael_Marques1

Seguinte, estou estudando jdbc, e pra ele se comunicar com o mysql, eu preciso de driver dele certo?

eu tenho, e teoricamente adicionei ele ao classpath…

eu fui em sistema, etc… variavel de ambiente e coloquei:

Nome da variavel: CLASSPATH
Valor da variavel: .;%CLASSPATH%;C:/my-sql-connector-java-3.0.13-production

mas mesmo assim dando problemas…

eu fiz certo???

o caminho esta certo, mas é assim mesmo q eu coloco??

abraços

ps: eu ja li os artigos na parte de artigo e tuto ;D

6 Respostas

ralphsilver

quando seta uma api no classpath, vc tem que especificar o .jar também porque ele nada mais nada menos é um diretório…

por exemplo: seu o seu .jar está na unidade c: e ele chama mysql.jar , no classpath vc deve colocar

CLASSPATH = %CLASSPATH%;c:/mysql.jar;.;

mateusprado

Ola ceb10n, primeiro se vc estiver usando um IDE para o desenvolvimento, fica mais facil colocar o .jar do driver de conexao no classpath da aplicacao. Isso vale pra todos os .jar.

[]s

Rafael_Marques1

eu estou usando uma IDE sim…

eu uso o netbeans 6.1 …

uma pergunta, esse caminho que eu coloquei, é uma pasta normal…
porém tem um arquivo dentro dela com o mesmo nome, e ele sim é .jar…

eu tenho que colocar o caminho da pasta e do .jar?

bom, vou tentar aqui, vlww :wink:

Rafael_Marques1

é, nao funcionou nao...

o codigo é esse aqui:

package exemplojdbc1;

import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import javax.sql.rowset.JdbcRowSet;
import com.sun.rowset.JdbcRowSetImpl;

/**
 *
 * @author Rafael Marques
 */
public class ConsultaBD {
    
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DATABASE_URL = "jdbc:mysql://localhost/bd";
    static final String USERNAME = "chmsa";
    static final String PASSWORD = "chmsa";
    
    public ConsultaBD(){
        
        try
        {
            Class.forName( JDBC_DRIVER );
            
            JdbcRowSet jdbc = new JdbcRowSetImpl();
            jdbc.setUrl(DATABASE_URL);
            jdbc.setUsername(USERNAME);
            jdbc.setPassword(PASSWORD);
            jdbc.setCommand("SELECT * FROM clinicas");
            jdbc.execute();
            ResultSetMetaData metaData = jdbc.getMetaData();
            int numero = metaData.getColumnCount();
            System.out.println("Clinicas");
            
            for (int i = 1; i <= numero; i++)
                System.out.printf("%-8s\t", metaData.getColumnName(i));
            System.out.println();
            
            while (jdbc.next())
            {
                for (int i = 1; i<=numero;i++)
                    System.out.printf("%-8s\t", jdbc.getObject(i));
                System.out.println();
                
            }
                    
        }
        
        catch (SQLException sqlException){
            sqlException.printStackTrace();
            System.exit(1);
        }
        
        catch (ClassNotFoundException classNotFound){
            
            classNotFound.printStackTrace();
            System.exit(1);
            
        }
        
    }
    
}

o erro que está dando é esse:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at exemplojdbc1.ConsultaBD.<init>(ConsultaBD.java:29)
        at exemplojdbc1.Main.main(Main.java:19)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
ralphsilver

sim você tem que colocar o nome da pasta e do jar com a extensao .jar

Mas assim… vc tá setando a variável no DOS? … porque se você estiver setando nele, não vai adiantar pois as variáveis setadas nele é pra apenas naquela tela… o qeu vc tem que fazer é setar no meu computador.

mas uma coisa masi fácil é setar o driver direto na IDE … vai na library e coloca (adcionar jar) procura pelo jar e epronto!

Rafael_Marques1

eu coloquei pelo proprio netbeans mesmo =D

vlw :wink:

Criado 19 de outubro de 2008
Ultima resposta 20 de out. de 2008
Respostas 6
Participantes 3