4
respostas

Erro no projeto loja-virtual-repository

Bom dia, ao baixar o arquivo atual do curso apareceu erro em várias linhas de várias classes. Vi que a minha senha ficou "roor" pelo erro de digitação rs. Mas, mesmo alterando a senha continua com erro:

import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class ConnectionFactory {

    public DataSource dataSource;

    public ConnectionFactory() {
        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
        comboPooledDataSource.setJdbcUrl("jdbc:mysql://localhost/loja_virtual?useTimezone=true&serverTimezone=UTC");
        comboPooledDataSource.setUser("root");
        comboPooledDataSource.setPassword("roor");

        comboPooledDataSource.setMaxPoolSize(15);

        this.dataSource = comboPooledDataSource;
    }

    public Connection recuperarConexao() throws SQLException{
        return this.dataSource.getConnection();
    }

}


Msg de erro na console:

Exception in thread "main" java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/ComboPooledDataSource at ConnectionFactory.(ConnectionFactory.java:11) at TestaConexao.main(TestaConexao.java:9) Caused by: java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource 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) ... 2 more

4 respostas

Olá Wagner, tudo bem com você?

O erro está indicando que a classe ComboPooledDataSource não está sendo encontrada. Esse import com.mchange.v2.c3p0.ComboPooledDataSource; foi feito automaticamente? Verifica se o jar do c3p0 está disponível no seu projeto.

Outra coisa que eu já vi acontecer foi criar um projeto com o module-info.java, o que fazia com que o projeto não reconhecesse o jar mesmo ele estando no classpath do projeto.

Confere aí se é isso. Fico no aguardo!

Boa noite Thiago, tudo bem sim.

Apaguei o CombopooledDataSource, e escrevi de novo na linha, ele criou o import automático. Porém, tentei fazer o mesmo teste com os outros imports não deu certo não. Adicionei os arquivos JAR novamente, e o erro não some.

Quanto ao module-info.java, não o encontrei não, creio que não foi criado então.

Thiago,

Tentei escrever o código novamente, e ao testar a conexão, já da erro na build mysql-connector, fiz o download novamente do arquivo e sem sucesso.

Segue a mensagem de erro:

Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost/loja_virtual?useTimezone=true&serverTimezone=UTC
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at TestaConexao.main(TestaConexao.java:10)

Opa Wagner, esse erro está indicando que não foi encontrado nenhum Driver do MySQL correspondente a jdbc:mysql no classpath do projeto. Você pode baixar o jar doDriver através dessa atividade e depois adiciona o jar ao seu projeto assim como o instrutor fez no minuto 3:14 da aula seguinte.

É um pouco estranho dar esse tipo de erro nesse ponto do curso, mas veja se configurando o Driver do MySQL assim como o instrutor fez na aula resolve o problema!

Testa aí e depois me avisa se funcionou!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software