[RESOLVIDO] Pasta do TomCat no Eclipse Juno J2EE

Instalei o Eclipse Juno e ele já vem com TomCat 6 instalado, basta ativar o Server.

Agora preciso colocar um driver de MySQL na pasta lib deste TomCat mas não o encontro.

Alguém saberia me dizer onde encontro as pastas do TomCat nesta nova forma de Eclipse?

Desde já agradeço qualquer ajuda.

[quote=JoaoBluSCBR]Instalei o Eclipse Juno e ele já vem com TomCat 6 instalado, basta ativar o Server.

Agora preciso colocar um driver de MySQL na pasta lib deste TomCat mas não o encontro.

Alguém saberia me dizer onde encontro as pastas do TomCat nesta nova forma de Eclipse?

Desde já agradeço qualquer ajuda.[/quote]

se voce achar a pasta do tomcat… so por na pasta lib… mas lembre-se isso pode dar conflito de classpath … quando voce coloca na pasta do tomcat ele vai forçar voce a usar esse… e ignorar outro que possar vir de outra aplicação de versão diferente… dando erro de compatibilidade possivelmente em uma das aplicações…

[quote=darklordkamui]

se voce achar a pasta do tomcat… so por na pasta lib… mas lembre-se isso pode dar conflito de classpath … quando voce coloca na pasta do tomcat ele vai forçar voce a usar esse… e ignorar outro que possar vir de outra aplicação de versão diferente… dando erro de compatibilidade possivelmente em uma das aplicações…[/quote]

O problema é que não existe uma pasta do tomcat. Já tentei achar em todos os lugares e não há a tal pasta.

Bem, meu problema é o de milhares pelo que vi em vários posts. Estou tentando executar a apostila JF21 da Caelum e num exemplo de servlet que acessa mysql está dando aquele "No suitable driver found for jdbc:mysql…

Então comecei a pesquisar os tópicos e sugerem de tudo, principalmente colocar o connector do mysql na pasta lib do TomCat, então estou tentando achá-la e nessa nova versão não encontro.

Outra coisa, na apostila da Caelum que estou lendo, não tem isso no código:

Class driver = Class.forName(“org.gjt.mm.mysql.Driver”);

usam direto e só o código:

return DriverManager.getConnection(“jdbc:mysql://localhost:3306/fj21”, root", “”);

Não é necessária mais a instanciação do driver???

Olá João,

Seguinte, para resolver esse problema você precisa referenciar sua lib para o tomcat que voce instalou no eclipse. Primeiro, se voce clicar duas vezes no tomcat na aba servers voce vai conseguir ver as configurações e aonde o tomcat está instalado (geralmente ele cria uma instancia do tomcat no próprio workspace). Para resolver seu problema basta adicionar a lib do mysql no classpath do servidor.

Para isso, nesta tela de configurações do servidor terá um link Open Launch Configuration... Clique e depois vai para a aba Classpath, clique em User Entries e depois Add JARS ou Add External JARs (caso sua lib nao esteja dentro do projeto que você está criando). Feito isso bastar dar um ok e subir o tomcat que ele terá a lib do mysql dentro do tomcat.

Obs.: Tudo isso é feito pelo eclipse mesmo!

Desculpe se estou sendo muito detalhista, mas é que nao sei qual a sua experiencia com a IDE. Qualquer problema estamos ai para te ajudar  :D

[quote=JoaoBluSCBR]Outra coisa, na apostila da Caelum que estou lendo, não tem isso no código:

Class driver = Class.forName(“org.gjt.mm.mysql.Driver”);

usam direto e só o código:

return DriverManager.getConnection(“jdbc:mysql://localhost:3306/fj21”, root", “”);

Não é necessária mais a instanciação do driver???[/quote]

Descobri agora um comentário que diz que a partir do JDBC 4 não é mais preciso incluir a linha com esse “Class.forName”,

Alguém tem idéia de onde encontro a informação de qual JDBC estou usando?

Continuo sem achar a pasta do TomCat nessa nova versao June do Eclipse J2EE

Cheguei a um caminho a partir do Workspace onde existe uma pasta:

workspace.metadata.plugins\org.eclipse.wst.server.core

E daí tem um grupo de sub-pastas que parecem compatíveis com as normais do TomCat (conf, logs, tmp. webapps, work, wtpwebapps)

mas nenhuma delas tem conteúdo. Então não sei se o conteúdo é oculto, ou se é montado pelo deploy apenas quando o projetos estão rodando…

Rodei meu projeto e passei o erro inicial de Driver com o registro do Driver, mas agora o ServLet está dizendo que não encontra o Driver do mysql dentro do TomCat então tenho de achar um jeito de colocar ele lá.

Dificil assim.

Faça o que eu falei que vai resolver :smiley:

[quote=jonathan.c.rodrigues]Olá João,

Seguinte, para resolver esse problema você precisa referenciar sua lib para o tomcat que voce instalou no eclipse. Primeiro, se voce clicar duas vezes no tomcat na aba servers voce vai conseguir ver as configurações e aonde o tomcat está instalado (geralmente ele cria uma instancia do tomcat no próprio workspace). Para resolver seu problema basta adicionar a lib do mysql no classpath do servidor.

Para isso, nesta tela de configurações do servidor terá um link Open Launch Configuration... Clique e depois vai para a aba Classpath, clique em User Entries e depois Add JARS ou Add External JARs (caso sua lib nao esteja dentro do projeto que você está criando). Feito isso bastar dar um ok e subir o tomcat que ele terá a lib do mysql dentro do tomcat.

Obs.: Tudo isso é feito pelo eclipse mesmo!

Desculpe se estou sendo muito detalhista, mas é que nao sei qual a sua experiencia com a IDE. Qualquer problema estamos ai para te ajudar  :D[/quote]

Jonathan, primeiramente quero agradecer. Suas explicações detalhadas foram ótimas para encontrar o caminho do Server e colocar nele o Driver.

Infelizmente isso não funcionou como devia e resolvi ir adiante na procura e por alguns comentários em tópicos, entendi que esse erro: No suitable driver found for jdbc:mysql://localhost/fj21 pode não significar só a falta do driver, mas o uso de um driver diferente ou até mesmo o fato da String de conexao estar errada.

Dentro dessas hipoteses, gostaria de sua ajuda no sentido de analisar minha String de conexao:

String url = “jdbc:mysql://localhost/fj21”;

return DriverManager.getConnection(url, “root”, “123456”);

e também a seguinte questão:

Eu abri o banco usando o MySQL Front, usei o usuario e a senha e beleza, o banco está lá com sua tabela. Mas a questão que não tenho certeza, é se o Eclipse e o projeto enxerga esse banco da mesma forma que o MySQL Front?

O fato de colocar o Driver é suficiente para que ele enxergue ?

Para testar fiz um projeto SE, normal de java, uma classe simples que usa a mesma String de conexao, Já que no projeto Web usando um ServLet envolve um Servidor e complica um pouco mais.

Neste projeto SE coloquei o jar do Driver e mesmo assim o erro foi o mesmo.

Então estou começando a duvidar sobre o driver e sobre a String de COnexao e até quanto a versoes do MySQL que possam ser diferentes.

Tem alguma luz sobre isso tudo?

Olá,

Teria como voce postar o trecho do codigo que monta a string de conexão e qual a versão do driver que voce está utilizando. Desse jeito consigo ter uma idéia melhor do problema e  tentar te ajudar :D

[quote=jonathan.c.rodrigues]Olá,

Teria como voce postar o trecho do codigo que monta a string de conexão e qual a versão do driver que voce está utilizando. Desse jeito consigo ter uma idéia melhor do problema e  tentar te ajudar :D[/quote]

Bem, o trecho de código é exatamente este que expliquei, nem mais nem menos:

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

Quanto ao Driver, está em um arquivo de nome: “mysql-connector-java-5.1.16.zip”, e dentro deste zip tem um jar com o mesmo nome e pasta src com sub-pastas com.mysql.jdbc e dentro dela infinitas classes .java inclusive a de nome Driver.

É isso!!!

Agradeço se puder indicar algo;

Tente isso na string de conexão:

jdbc:mysql://localhost:3306/fj21", “root”, “”

[quote=jonathan.c.rodrigues]Tente isso na string de conexão:

jdbc:mysql://localhost:3306/fj21", “root”, “”[/quote]

Já havia tentado isso, mas tentei novamente, e o erro é o mesmo.

É brincadeira, mas resolvi por acaso.

Bem, aprendi como localizar a pasta do tomcat no Eclipse June e isso já valeu.

A questão do banco era o fato de eu estar adicionar o zip e não só o jar do connector.

Separei o jar em uma pasta e o adicionei só ele ao projeto e ao tomcat e daí funcionou corretamente.

Eu achei que como distribuem o zip completo com o jar e mais os src, que ao adicionar o o zip o sistema trataria de encontrar o jar dentro e o usuario, parece que não é assim.

Entendo… Foi uma boa mesmo o conhecimento. Isso ai!