Connection Factory não reconhece imports do java.sql

5 respostas Resolvido
java
devictorqroz

Fala pessoal, iniciando os estudos em java web, desde ontem estou tendo um problema ao criar um projeto simples de connection factory utilizando jdbc e mysql.

  • Java instalado é o 17,
  • Utilizando eclipse para java ee and web,
  • Driver connector do mysql platform independent versao mais recente
    adicionado ao build path do projeto.

não está reconhecendo os imports, eclipse reclamando com os alerts em vermelho.

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

public class ConnectionFactory {

	public Connection getConnection() {
		try {
			return DriverManager.getConnection(
					"jdbc:mysql://localhost/JavaWeb", "root", "root");
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
}

5 Respostas

ViniGodoy
davidbuzatto
Solucao aceita

Hoje dando aula eu percebi que o NetBeans tbm estava “enroscando” nisso. Ele não dá erro como o Eclipse, mas não “enxerga” o pacote java.sql para fazer importações automaticamente. Isso se dá por causa da versão do JDK. Desde o Java 9 o pacote java.sql está em outro módulo do JDK e o NetBeans, e pelo jeito o Eclipse tbm, precisam ser informados que usaremos esse módulo nas suas últimas versões. Eu particularmente nem tinha notado isso, pq lidar com JDBC direto e o pacote java.sql eu só faço quando vou dar aulas introdutórias de integração Java e Banco de Dados. Em projetos “de verdade” sempre usamos algum framework e isso acaba ficando transparente. Enfim, a solução é:

No pacote padrão do seu projeto crie um arquivo chamado module-info.java e o conteúdo do mesmo deve ser:

module ModuloAplicacao {
    requires java.sql;
}

No NetBeans fica assim:

Se quiser ler sobre os módulos do JDK, veja aqui Noções básicas sobre os módulos do Java 9 | Oracle Brasil

devictorqroz

Caramba mais uma vez muito obrigado, só essa pequena linha resolveu.
E que bom ter resolvido tão simples e aprendido sobre isso, já vou também passar essa informação aos colegas que tentaram ajudar.

No package default do projeto já tinha até o arquivo ‘module-infor.java’ só estava sem a linha solicitando o java.sql.
Mais uma vez muito obrigado!

F

Tem Como resolver isso sem utilizar um module?

davidbuzatto

Não. É algo simples, não tem pq ficar brigando contra.

Criado 17 de agosto de 2023
Ultima resposta 3 de mar. de 2026
Respostas 5
Participantes 4