Fórum Para o Davi Gomes da Costa #393082

27/12/2010

0

Eu coloquei esse post para o Davi, é pq ele me enviou uma solução e necessito ter uma resposta dele. Como não achei mensagem privada aqui nesse forum, preferir fazer um post a ele, mas não tem nada a ver com os outros. Davi, eu criei a mesma estrutura de diretório como no seu exemplo que me enviou e não funcionou o meu exemplo. Inclusive copiei de suas pastas e os arquivos e coloquei na minha estrutur de pastasu e nada funcionou. Antes eu tinha meu WorkSpace em um dado local. Gerava as aplicações lá e depois eu copiava os arquivos necessários(.class e .xml) e os colocava nas pastas correspondentes. Dessa forma não funcionava. Vi que minhas aplicações estavam com erros(baseado no seu exemplo), corrigi-os mas não está funcionando. Agora sei que não é o Tomcat e nem o Eclipse, pois a sua funciona. Estou comparando a minha com a sua, mas ainda não funciona pela minha estrutura de pastas. O que pode ser, colega?
Pjava

Pjava

Responder

Posts

27/12/2010

Davi Costa

Paulo realmente eu teria que analisar tudo do seu código,
mas o que eu posso te dar de dica é... não faz nada por fora do eclipse, ele já está aí para fazer tudo por vc,
nós não copiamos arquivos .class, o eclipse vai transformar seus arquivos  .java em .class.
Tem que ter muito cuidado c os arquivos web.xml, cada aplicação tem o seu. O que vc tem que fazer é adaptar
seu projeto para que fike parecido c o que te passei, mas igual não.
Não faz mais nada por fora do eclipse, vc já teve muita dor de cabeça antes.

O que sugiro é apaga esse que vc já fez e faz tudo devagar aos poucos, não cópia as pastas no teu source por fora tb não, cria as packages com o mesmo nome no eclipse e o máximo que vc pode ir copiando são os códigos dos .java
 e corrigindo caso ocorra algum erro de compilação por imports ou nome de pacotes não baterem.

Nem sempre vc vai ter q criar os packages via eclipse e tudo, mas como vez está nessa alta curva de aprendizado será até melhor vc copiar código fonte por código fonte, vc vai entender de forma mais clara ainda o funcionamento
das aplicações web com java.

Para maiores dúvidas pode contar comigo.

Att Davi
Responder

Gostei + 0

29/12/2010

Pjava

Essa cópia "por fora" é recomendada pela autora. Mas ela não usa Eclipse eu sei. Eu tenho meu Workspace apontado para uma pasta e depois de gerar os .class lá, eu os copio para aquela estrutura de pastas que eu montei e o ponho lá. Acho que isso não deveria, certo? Quanto ao mau deployment(web.xml), eu o crio na pasta correspondente. Vou apagar tudo ou refazer um novo(outro nome) e tentar fazer semelhante ao seu. Uma pergunta: Por que quando eu crio o meu Workspace no Apache Tomcat(WebApps) não consigo adicionar um projeto no server?
Responder

Gostei + 0

29/12/2010

Davi Costa

Provavelmente, pq já te na pasta webapp, e vc ker adicionar outro com mesmo nome. Sei que o livro recomenda, mas use o eclipse será melhor nesse momento, talvez qdo vc ficar mais experiente um pouco já fike expertp fazer as coisas por fora.

Att Davi
Responder

Gostei + 0

29/12/2010

Pjava

Não, não é isso não. Eu aponto meu Workspace para o Webapps e crio um novo projeto Dynamic Web Project, com o nome Nono, por exemplo. Aí vou em Add/Remove do meu Server e dá a seguinte mensagem:
There are no resources that can be added or removed from the server. SEe eu apontar para outra pasta o meu Workspace(qualquer pasta, exceto a Webapps) funciona tudo. Existe alguma particularidade para essa pasta?
Responder

Gostei + 0

29/12/2010

Davi Costa

Realmente isso não é uma boa prática,
se perceber a pasta que vc cria quando aponta para fora do tomcat o eclipse configura algumas coisas.
O que não é bom para seu tomcat. A pasta que ficam em webapps, só pasta já com os .class e já todo configurado,
quando vc vai add ao server (e ai sim o eclipse preparar a pasta para o tomcat receber) o tomcat deve reclamar
por já ter essa pasta fora dos conformes.

Att Davi
Responder

Gostei + 0

30/12/2010

Pjava

Normalmente eu faço assim: Crio um Workspace fora do tomcat e crio os meus programas lá. Depois de tudo criado, copiom os .class e colo nas pastas correspondentes do Tomcat, dentro daquela estrutura de pastas que eu criei para isso. Isso eu tenho feito e não tenho obtido exito. No seu exemplo, vi que o seu Workspace e seu ambiente de distribuição são praticamente os mesmos, sua pasta build foi criado junto com tudo. Foi isso que eu tentei fazer e não funcionou. mas eu coloquei como workspace a própria pasta Webapps. Mesmo removendo tudo de lá, não funciona quando eu aponto pra ela. Qual a melhor forma de se trabalhar? Como deve ser me workspace? devo criar uma Pasta dentro da webapps e apontar meu workspace pra ela?
Responder

Gostei + 0

30/12/2010

Davi Costa

Paulo seguinte,
melhor maneira é fazer tudo via eclipse..
não copia nada para as pastas do tomcat não
apaga tudo de lá.
Sei que o livro pede p vc fazer as coisas por fora,
mas no dia a dia no trabalho, vc vai perceber q ninguém faz isso, as ides estão aí p ajudar.
Esqueci esse copia e cola p tomcat.
Cria projeto web no eclipse ou netbeans.
No máximo copia as classes java para seu projeto e qdo vc adicionar o projeto para seu servidor pelo tomcat, a ide  q vc estiver usando vai fazer toda a mágica p vc.

Att Davi

Responder

Gostei + 0

30/12/2010

Pjava

Acho que vc não me entendeu. Não quero estender essa thread, mas isso é fundamental para mim. Veja que em nenhum momento eu poste aqui dúvida de java ou coisa assim. Minha dúvida ainda está na preparação do meu ambiente de desenvolvimento. O Eclipse trabalha com um Workspace. Entendi perfeitamente a questão do workspace. No Tomcat tenho uma pasta WEBAPPS, que é onde ele trabalha. Dentro dessa pasta WEBAPPS, eu coloco as minhas pastas(WEB-INF, COM  e etc..). Bem, eu antes eu tenho em minha máquina uma pasta chamada Projetos e dentro dela uma outra chamada WebProjetos(C:\Projetos\WebProjetos). Era para essa pasta que eu apontava o meu WorkSpace. Ao terminar de criar meus projetos, eu pegava os .class gerados lá e copiava para as pastas do Tomcat respectivas, restartava ou startava o Tomcat e subia o Browser para ver como ficou. Bem, pelo livro, eu não consegui nada, até que virou aqueles zilhões de posts que vc e outros caras me ajudaram, até que entendi que era minha aplicação que estava zicada. Com isso, entendi bem o papel dos Containers(Tomcat e eoutros) coisas que o livro jamais iriam me ensinar. Peguei bem a questão da configuração do ambiente e etc... Isso valeu por horas e horas de curso e obrigado a vc e aos demais que me ajudaram. Sou muito grato mesmo. Agora só queria melhorar essa minha relação com meu ambiente de desenvolvimento. Como vc fazem isso na prática mesmo, onde aponto meu Workspace. Exemplo. Vou criar um projeto chamado Web_Lojistica. Esse é o nome do projeto. Crio uma pasta dentro do WEBAPPS, chamada WEB e aponto meu Workspace pra lá e ponho meu projeto Web_Lojistica dentro dessa pasta? Esse projeto eu coloco também(é claro) dentro do Server? E como eu distribuo o .class para a pasta WEB? Como eu crio meu Deployment Descriptor(web.xml), na mão e copio para dentro da pasta Web-Inf ou há uma forma de criá-lo já dentro dessa pasta? E meu HTML? Crio no Dreamweaver ou Notepad e salvo já dentro da pasta WebContent? Então é mais ou menos essa minha dúvida. escrevi bastante para tentar explicar minha dúvida toda, desde o início.
Responder

Gostei + 0

30/12/2010

Davi Costa

Ok,
é o seguinte, tentamos sempre deixar o tomcat padrão, nosso workspace realmente fica em outra pasta.
Não copiamos nada para o tomcat. Para rodarmos as aplicações bastamos simplesmente configurar o servidor no eclipse, todos akeles passos que já passamos e depois add o projeto para o tomcat via eclipse na aba server, estartamos o servidor via eclipse (tem que ser tudo pelo eclipse senão n vai funcionar - não adianta adicionar pelo eclipse e estartar o tomcat por fora) tb na aba server.
E é apenas isso. Recomendo a vc a tirar tudo que não épadrão do tomcat de lá.
Como já te disse as ides faz tudo por vc. Talvez vc n esteja confiando muito que vai dar certo por conta do eclipse n gerar nenhuma pasta lá no webapps do tomcat, ele faz isso por outros meios, que podemos abstrair tranquilamente.. é tanto que se adicionarmos um projeto web pelo eclipse e startarmos por fora o tomcat a aplicação n vai subir, os .class e os html (ou outros formatos de páginas) vai para um outro lugar diferente do webapps do tomcat, mas tudo isso o eclipse faz p vc, vc n tem que copiar pasta ou arquivo para lugar nenhum.
Basta trabalharmos somente pela ide, ainda bem que ele faz tudo isso p gente, imagina ter que ficar copiando esses arquivos na mão de um projeto real c mil classes, vários desenvolvedores trabalhando na mesma aplicação.. isso n seria viável.
Agoa assim se vc  estiver já feito o teste pelo o eclipse  e deu algum problema .. c certeza eé pq vc  tem essas pasta ai no tomcat e está dando conflito. Por isso repito, apaga tudo de lá. Se vc kizer p garantir faz um backup dessas pastas. mas tira tudo q vc copiou e colou de lá. Pq se vc adicionar um projeto no eclipse e ele já estiver lá.. vai ter problemas e n vai conseguir subir a aplicação.

Att Davi


Responder

Gostei + 0

30/12/2010

Pjava

Ou eu não estou entendendo nada ou não sei o que é. Quanto ao Eclipse eu entendi. Quando criamos as pastas no Tomcat\Webapps\Meu_Projeto. Como eu crio essas pastas então? Até então, achei que eu as criaria normalmente(na mão) e depois colocaria as coisas lá. Exemplo. Abaixo minha estrutura de diretórios criadas à mão:

C:\apache-tomcat-6.0.29\webapps\Beer-V1\classes\com\example\web

Ok. Fiz isso na mão. Como eu faria isso pelo eclipse ou não precisa? Estou entendendo que pelo eclipse tudo é criado. E depois para distribuir isso em um Servidor WEB, tipo Locaweb/RedeHost/Amazon e etc...

Quando eu crio um projeto novo, ele já cria algumas pastas no Workspace, inclusive uma pasta com o nome do projeto. Deixo assim? E depois? O Tomcat ele só carrega coisas na pasta Webapps? E como faço para essa pasta minha criada, mas fora do Tomcat? Ou devo apontar o meu Workspace para dentro de uma pasta qualquer criada abaixo de Webapps, apontar o Workspace pra lá e depois sim, deixar a IDE fazer tudo sozinha?
Eu acho que estou conseguindo me fazer entender.
Responder

Gostei + 0

30/12/2010

Davi Costa

Vc tem que crer que o eclipse faz tudo p vc,
não precisa cria pasta alguma no tomcat. Ainda digo mais retire tudo que vc colocou lá que nessa o padrão do tomcat.
Tire tudo mesmo.
Faça tudo pelo eclipse e suba tb pelo eclipse. Ele vai criar a pasta do projeto no seu workspace e qdo vc adiciona para o servidor q foi configurado no seu eclipse ele faz tudo por debaixo dos panos. Como falei fica difícil de crer um pouco pq o eclipse n gera nenhuma pasta em webapp. Ele faz isso por outras vias que vc n precisa saber.
Nem ficar copiando e colando coisa alguma na mão.
Isso é uma péssima prática, pq se vc tiver vários aplicativos na sua mákina e deixar tudo no webapp do tomcat
sempre q for startar o tomcat vai deixá-lo pesado com muitas aplicações.... sendo q normalmente vc só vai estar trabalhando em uma.
Por isso é bom utilizarmos tudo via eclipse, pq ele vai gerenciar isso da melhor maneira possível.

Espero ter ajudado.

Att Davi


Divulgando:

https://www.devmedia.com.br/post-18955-Desmistificando-a-Certificacao-SCJP6-Parte-III.html
Responder

Gostei + 0

30/12/2010

Pjava

Entendi. Apaguei tudo de lá, não deixei nada mesmo. Agora vou fazer minha aplicação de teste, adicionar ao Tomcat o projeto e startar o cara. Para quem vem de outra linguagem como eu(Delphi) acha meio estranho essa coisa. O que o Eclipse faz, não me interessa. Quero apenas que as coisas funcionem e se não funcionar sou eu com certeza aqui que estou fazendo algo errado. Isso eu sei,eheh. Mas todo aprendizado tem seu preço e estou pagando por ele. mas vou conseguir. Pra mim a dificuldade é o meu ambiente de trabalho. Creio que em java, as dúvidas serão mais light, até porque já tive muito contato com ele, ao longo do período. não que eu não tenha dúvida, mas são mais light. Kra, obrigado mesmo pela paciência e disponibilidade.  
Responder

Gostei + 0

30/12/2010

Pjava

Tá faltando alguma coisa que eu não estou conseguindo te passar. Na minha máquina tenho esses diretório(pastas): C:\apache-tomcat-6.0.29\webapps C:\Projetos\Web_Projects\Teste1 No Teste1, eu estou fazendo meus projetos do livro. Lá tenho um projeto chamado, WEB_Teste. Meu Workspace está apontado para essa pasta. Criei lá um listener, servlet, web.xml e uma classe java. Pelo livro eu não precisaria criar um Html, bastasse chamar o servlet pelo mapeamento do DD. Bem, essa pasta não está no Webapps. É isso que eu venho tentando dizer. Como ela entra no webapps sem eu ter que copiar pra lá? Ela continua nesse path: C:\Projetos\Web_Projects\Teste1\Web_Teste Como fazê-la entrar no Tomcat e poder rodar? O seu exemplo eu importei para dentro, mas ele foi criado em outro lugar(na sua máquina). Pode ser algo bem simples, mas eu ainda não entendi.
Responder

Gostei + 0

31/12/2010

Robson Teixeira

Olá paulo
  No Eclipse se estiver usando a aba server's pra iniciar o tomcat e so clicar no botão direito encima do servidor instalado e selecionar a opção de Add and Remove e vai abrir uma tela com todos os seu projetos web presentes no workspace ai e so selecionar o projeto que vc quer e clicar em add.
 Quando selecionar os Projetos Desejados é so clicar em finish e iniciar o seu tomcat pelo eclipse e teste para ver se o seu projeto está funcionando.

Att robson
Responder

Gostei + 0

31/12/2010

Robson Teixeira

Peço ate desculpas por me intrometer mas a intenção e so de poder ajuda-lo.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar