(TOMCAT) Como evitar necessidade de varios deploy no desenvolvimento, configurando o server.xml

10 respostas
zap

Estou tentando configurar o Tomcat 4.1.27 para procurar a aplicacao em outro diretório, que não seja o webapps. Pois li que dessa forma não é necessário ficar danto start e stop no container a cada deploy no Eclipse.

Inclui no conf\server.xml :
<Context path="/aplicacao" docBase="C:\eclipse\workspace\proj\aplicacao" debug="0" reloadable="true" />

Mas está dando o seguinte erro quando entro com http://localhost:8080/aplicacao:

HTTP Status 500 - 

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: Exception forwarding for name /login: javax.servlet.UnavailableException: Cannot initialize RequestProcessor of class struts.PedidosRequestProcessor: java.lang.ClassNotFoundException: struts.PedidosRequestProcessor

(...)

A configuracao no server.xml esta correta ?

obrigado

10 Respostas

aborges

De uma olhadinha:

zap

Obrigado por responder

A classe PedidosRequestProcessor existe, por que será que o TomCat não está conseguindo encontrá-la ?

Tem alguma outra sugestão ?

valeu

aborges

Dentro de seu docBase "c:\eclipse\workspace\proj\aplicacao" deve existir uma pasta chamada "WEB-INF\classes".
Ela irá conter as classes do seu projeto, inclusive a PedidosRequestProcessor q devera estar dentro da package struts

+ c:\eclipse\workspace\proj\aplicacao
      + WEB-INF
            + classes
                  + struts
                            PedidosRequestProcessor.class
zap

O Eclipse não esta copiando as classes para o WEB-INF\classes !!

Ele somente esta jogando para a pasta binc:\eclipse\workspace\pedidos\bin

Dá para configurar isso ?

raguiar

Dentro do eclipse, vá nas propriedades do seu projeto, clique na opção
"Java Build Path" no canto esquerdo da tela e configure o campo “Default Output Folder” com “minha_aplicacao/WEB-INF/classes”.

Com isso, o Eclipse compilara as classes neste diretorio

aborges

Pq vc nao utiliza um PLUGIN para trabalhar com Tomcat no Eclipse…

Eu utilizo um aqui no servico q e o maior mao na roda:

http://www.sysdeo.com/eclipse/tomcatPlugin.html

zap

Alexandre e Ricardo,

Obrigado, suas dicas foram essenciais. Já estou conseguindo fazer o que precisava.

Vou dar uma olhada no Sysdeo quando tiver em tempinho, Alexandre.

Valeu

zap

Mais uma dúvida :

Funcionou perfeitamente quando altero meus JSPs e outros arquivos (css, js, .properties), só preciso salvar as alterações e dar um refresh na página para ver o resultado. Mas quando altero uma classe, ao dar um refresh na página é mostrado :

HTTP Status 503 - Servlet controller is currently unavailable
--------------------------------------------------------------------------------
type Status report

message Servlet controller is currently unavailable

description The requested service (Servlet controller is currently unavailable) is not currently available.
E o TomCat mostra no console :
WebappClassLoader:   Resource '/WEB-INF/classes/pack/MyClasse.class' was modified; Date is now: Fri Nov 19 16:35:58 BRST 2004 Was: Thu Nov 18 16:50:18 BRST 2004

Então tenho que ir no TomCat manager e parar e reiniciar a aplicacao para poder ter as alterações funcionando.

Isso é normal ou preciso configurar mais alguma coisa ?

aborges

O Tomcat nao esta conseguindo se reorganizar ( seria esta a palavra? ) depois q vc altera alguma classe no seu projeto…

Utilize o plugin q eu te falei q ele resolve grande parte destes casos. Somente em alguns casos ( como alteracao de arquivos de configuracao como web.xml por exemplo ) vc tera q reiniciar seu Tomcat :wink:

zap

E aê Alexandre,

Instalei o Sysdeo no plugins do Eclipse, e segui as instruções de “Installation” do site.

Porém continua dando o mesmo erro quando altero uma classe e dou um “refresh” na aplicação

Será que falta alguma coisa ?

Estou usando o Eclipse 2.1.1 e o Tomcat 4.1.27.

Baixei a versão 3.0 (tomcatPluginV3.zip) do Sysdeo

valeu

Criado 17 de novembro de 2004
Ultima resposta 22 de nov. de 2004
Respostas 10
Participantes 3