Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro executar classe de teste de conexão

Bom dia, estou com um erro ao tentar conectar minha classe de teste usando metodo da minha classe ConnectionMysql.

segue abaixo código da classe ConecctionMySql:

package br.tonbras.banco;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConecctionMySql {

    public static Connection getConnection() throws SQLException {
        Connection con = DriverManager.getConnection(
                "jdbc:mysql:locallhost/login/", "root", "root");
        return con;

    }
}

classe de teste:

package TestaConexao;

import java.sql.Connection;
import java.sql.SQLException;

import br.tonbras.banco.ConecctionMySql;

public class Teste {
    public static void main(String[] args) throws SQLException {
        Connection con = ConecctionMySql.getConnection();
        System.out.println("Aberta");
        con.close();
    }

}

e me é voltado esse erro: Erro: Não foi possível localizar nem carregar a classe principal TestaConexao.Teste

obrigado.

11 respostas

Bom dia, Gabriel! Tudo bem, cara? =)

Eu dei uma olhada no seu código e encontrei um errinho na classe ConecctionMySql. Dentro do método getConnection() do DriverManager, você escreve o seguinte:

"jdbc:mysql:locallhost/login/", "root", "root"

Suponho que você tenha um usuário chamado de root com senha root, correto? Mas o problema está na primeira String, o correto seria algo como:

"jdbc:mysql://localhost/login"

Repare na diferença... Depois de mysql, tem dois-pontos e duas barras, não somente dois-pontos. Além disso, localhost estava escrito errado. E dessa forma, você deve ter uma base de dados chamada de login... Você a criou?

Embora eu tenha percebido esse erro, você deveria ter recebido uma SQLException, mas o seu problema é que seu código não consegue encontrar a classe com o método main...

De toda forma, você poderia fazer essas alterações e verificar se o erro persiste? =)

Obrigado,

Fábio

Fabio valeu pelo retorno.

verdade nao tinha visto as barras, adicionei mas infelizmente o erro persiste.

isso mesmo criei o banco de dados login, usuario root e senha root.

obrigado

Gabriel,

Você está usando o Eclipse? Se estiver, como está tentando executar esse main()?

Fábio

Fabio,

estou usando sim o eclipse, eu costumo usar o f11.

obrigado.

Gabriel,

Estranho não estar funcionando... Me parece que está tudo correto...

Como a classe é pequena, tenta refazê-la... Remove essa do projeto e escreve uma nova. Dessa vez, atente-se ao nome dos pacotes! Pelo que eu sei, os pacotes não devem interferir em nada, mas só para seguir a convenção... =)

Tenta escrever a classe como TestaConexao, dentro do pacote br.tonbras.banco.teste. =)

E sempre que puder, abuse dos atalhos do Eclipse! Deve ter algum errinho de digitação de estamos deixando passar... Eu passei por isso recentemente... O código não estava sendo executado pois havia um erro na declaração do método main()... =|

Abraço,

Fábio

Fabio,

Muito estranho, eu refiz a classe TestaConexao dentro do pacote br.tonbras.banco.teste, como havia me pedido. Quantos ao erros de digitação eu digito main e ja dou control + espaço, para tentar evitar.

mas o erro continua igual vou postar as classes novamente

Classe ConecctionMySql :

package br.tonbras.banco;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConecctionMySql {

    public static Connection getConnection() throws SQLException {
        Connection con = DriverManager.getConnection(
                "jdbc:mysql://localhost/login", "root", "root");
        return con;

    }
}

Classe de testes:

package br.tonbras.banco.teste;

import java.sql.Connection;
import java.sql.SQLException;

import br.tonbras.banco.ConecctionMySql;

public class TestaConexao {
    public static void main(String[] args) throws SQLException {
        Connection con = ConecctionMySql.getConnection();
        System.out.println("aberta");
        con.close();
    }
}

obrigado fabio

Gabriel,

O mesmo erro?! Ao invés de apertar F11, tenta clicar com o botão direito sobre o método main() e selecionar a opção Run as... -> Java Application, por favor. =)

Isso está bem estranho... Rs. Acabei de copiar seu código aqui no meu Eclipse e rodou normalmente... O erro que aparece não é uma Exception no console, né? Ele nem está rodando sua classe, correto?

Fábio

Gabriel,

Eu dei uma pesquisada sobre esse erro, eu vi algumas pessoas comentando que o arquivo .metadata pode estar corrompido. Se for o caso, a solução é removê-lo do workspace, reiniciar o Eclipse importar o projeto novamente...

Pode tentar? =|

Abraços,

Fábio

Fabio boa tarde,

amigo eu troquei o drive por um mais recente e aparentemente funcionou, acho que apenas fui avisado de possíveis falhas de seguranças

segue abaixo a mensagem no console:

Mon Jan 30 13:43:15 BRST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
aberta

obrigado.

solução

Gabriel,

Legal! Essa mensagem é realmente apenas um warning... =)

Abraço e bons estudos,

Fábio

muito obrigado fabio