ClassNotFoundException

13 respostas
Bani

Estou tentando utilizar o JDBC para MySQL e não está dando certo, caindo no catch quando passo pelo seguinte código:

try
	{
		Class.forName("org.gjt.mm.mysql.Driver");
	}
	catch(ClassNotFoundException e)
	{
		System.out.println("Class not found");
	}

O engraçado é que coloquei um “import org.gjt.mm.mysql.Driver;” no início da classe e não deu nenhum erro ao compilar no prompt do DOS (javac *.java).

A classe está sendo usada no Tomcat e estou utilizando Windows XP. Nas Environment Variables criei uma System variable CLASSPATH com o valor .;C:/j2sdkee/lib/j2ee.jar;C:/mysql/lib/jdbcdriver.jar

Esse jdbcdriver.jar criei utilizando o JAR e o arquivo Driver.class está realmente em org/gjt/mm/mysql lá dentro.

Alguém tem alguma idéia do que estou fazendo errado? Eu já havia rodado essa aplicação sem problemas, mas esta semana tive que formatar minha máquina (tela azul :cry: ) e não consigo mais fazer funcionar!

13 Respostas

aconstantino

Tente nao importar ela…acho que vai funcionar…

ps: a unica forma de largar o windows eh odiando ele… as interfaces dele sao realmente viciantes…

Bani

Eu havia tentado sem o import antes, e não funcionou. Coloquei o import só pra testar o classpath.

Quanto a largar o Windows, eu uso Slackware também. O problema é que quando fui formatar o computador, na verdade não foi bem formatar, e sim rodar o cd de restore que veio junto com o computador, e ele destruiu meu Slack também. Configurar o Windows é bem mais rápido do que configurar o Slack, então vou deixar ele pra quando terminar de arrumar tudo aqui.

aconstantino

Vc pode baixar os drivers do MySQL em:
http://mmmysql.sourceforge.net

Pra testar vc pode usar

java org.gjt.mm.mysql.Driver

ps: slackware nao tem tela azul

Bani

Realmente estava faltando uma classe no meu JAR. Agora coloquei o JAR correto, alterei o classpath, e ao executar java org.gjt.mm.mysql.Driver ele fala apenas que não existe método main.
Porém, continuo com o mesmo problema de antes na minha aplicação.

P.S.: Slack não tem tela azul, mas também não abre as páginas que só funcionam no IE, então se tenho que destruir todas as partições do meu computador para abrir as páginas que preciso, o jeito é ir em frente e depois configurar tudo de novo.

Bani

Só complementando, o erro que está dando é realmente não encontrar a classe “org.gjt.mm.mysql.Driver”.

java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1428)

Eu tentei fazer uma classe mais simples de acesso ao banco de dados para rodar direito do prompt, e ela funcionou perfeiramente. Será que existe algum classpath especial para o Tomcat, ou algo assim?
(Já reiniciei até o computador, então ele realmente estaria utilizando o classpath que coloquei nas variáveis de ambiente se for de lá que ele pega)

aconstantino

vc pode colocar os jar na pasta /web-inf/lib/ (se nao existir vc pode criar)

Eu abro tudo (mozilla, opera…) do windows e se duvidar emulo o ie com o wine… E se duvidar rodo o windows dentro de uma janelinha :*

Meu slack eh lindo: http://pessoal.onda.com.br/jammer/Screenshot.png

Bani

FUNCIONOOOUUUUUU!!!

:lol: :smiley: :lol: :smiley: :lol: :smiley: :lol: :smiley: :lol: :smiley: :lol: :smiley: :lol: :smiley: :lol: :smiley:

Muitíssimo obrigada, blackhat!

P.S.: Você está usando o que no seu Slack? Gnome + Enlightenment?
E para não começar a ficar muito off-topic, responde por e-mail: [email removido]

Rafael_Steil

Detalhe: o driver oficial do mysql agora eh o J/Connector, que pode ser encontrado em www.mysql.com

Rafael

Paulo_Silveira

bani, NUNCA de import no seu driver de SQL. isso nao deve ser feito, ja que ele deve usar as classes do java.sql, e normalmente tem os mesmos nomes que as classes do driver.

ele esteva compilando pq vc tinha o driver no seu classpath ao compilar, mas nao ao executar.

rafael, o JConnector é a continuacao do mm.mysql :), é o mesmo developer!

Adler_Medrado

DEUS SEJA LOUVADO!

Sim… o Developer do mm.mysql agora faz parte do Staff do mySQL.
Mudou somente o nome da parada…

Apesar que a versão atual do Connector/J é bem mais rápida do que a última versão do mm.mysql …

Falou moçada!

Guilherme_Silveira

repetindo:
nunca de import no drive sem ser para teste na hora de compilacao
o qnao adianta nada.

o problema era o classpath na hora de rodar. nao adianta a classe estar visivel para o compilador mas nao na hora de rodar!

nunca se esquecer
ClassNotFoundException --> Classpath errado

L

To com o mesmo problema que você e não estou conseguindo arrumar. O que você fez exatamente para funcionar ???

Bani

Nossa, você desenterrou um tópico de 7 anos atrás :slight_smile:
Aparentemente eu fiz o que falaram aí e deu certo… hehe

Criado 9 de novembro de 2002
Ultima resposta 30 de out. de 2009
Respostas 13
Participantes 7