Problema com deploy

10 respostas
S

Olá pessoal,

meu estágio é pra dar manutenção de um sistema.

É a primeira vez que mexo com algo que preciso ir pra um servidor. MInha experiencia passada eu soh usava o tomcat pra rodar as aplicações.

Aqui no servidor da empresa está localizada a pasta do projeto web que já foi desenvolvido.

Minha dúvida é, caso eu queria mudar alguma servlet ou qualquer outra funcionalidade do tipo, é só eu pegar .class da classe que foi alterada e jogar no servidor? (na pasta onde o antigo que foi atualizado estava).

abrasss

10 Respostas

drsmachado

Vamos lá…
Quando você está desenvolvendo e vai realizar um teste, a IDE que utiliza (seja qual for) gera um arquivo WAR e disponibiliza ele na pasta webapps (caso do Tomcat). Como o servidor está rodando, ele automaticamente “desempacota” o conteúdo desse WAR, lê os arquivos de configuração (XMLs existentes em WEB-INF) e disponibiliza o acesso ou gera erro.
Supondo que você pegue um .class dali, modifique e jogue ali novamente. Há uma grande chance de dar erro.
Qual a forma correta?

Na maioria das empresas é utilizado algum servidor de controle de versão, assim como uma ferramenta para isto (SVN, Subversion, CVS, etc).

Além do WAR existe um outro tipo de “empacotamento”, o EAR, “consumido” por outros tipos de servidores (naverdade, application servers, como WebLogic, WebSphere, JBoss).

O mais correto é fazer as alterações necessárias e, assim que concluir, refazer o deploy no servidor em questão.

FernandoFranzini

skaterzin:
Olá pessoal,
meu estágio é pra dar manutenção de um sistema.
É a primeira vez que mexo com algo que preciso ir pra um servidor. MInha experiencia passada eu soh usava o tomcat pra rodar as aplicações.
Aqui no servidor da empresa está localizada a pasta do projeto web que já foi desenvolvido.
Minha dúvida é, caso eu queria mudar alguma servlet ou qualquer outra funcionalidade do tipo, é só eu pegar .class da classe que foi alterada e jogar no servidor? (na pasta onde o antigo que foi atualizado estava).

abrasss

Depende do container em uso…tem alguns que possui um recurso chamado HOT-DEPLOY!
Esse recurso consegue atualizar o war quando vc joga algum recurso dentro dos diretórios do WAR.
Consulte o doc do seu provedor de container para saber das implicações da uso continuo disso.

S

drsmachado:
Vamos lá…
Quando você está desenvolvendo e vai realizar um teste, a IDE que utiliza (seja qual for) gera um arquivo WAR e disponibiliza ele na pasta webapps (caso do Tomcat). Como o servidor está rodando, ele automaticamente “desempacota” o conteúdo desse WAR, lê os arquivos de configuração (XMLs existentes em WEB-INF) e disponibiliza o acesso ou gera erro.
.

Isso eu sabia, porém não sei como que o tomcat ta aqui nesse trem.
Eu abro o servidor pelo executar aqui e dentro dele há várias pastas, sendo que uma delas é o do meu projeto.

Usando um cvs, assim q eu alterar um arquivo.java, será alterado o .class dele no servidor?

FernandoFranzini

skaterzin:
drsmachado:
Vamos lá…
Quando você está desenvolvendo e vai realizar um teste, a IDE que utiliza (seja qual for) gera um arquivo WAR e disponibiliza ele na pasta webapps (caso do Tomcat). Como o servidor está rodando, ele automaticamente “desempacota” o conteúdo desse WAR, lê os arquivos de configuração (XMLs existentes em WEB-INF) e disponibiliza o acesso ou gera erro.
.

Isso eu sabia, porém não sei como que o tomcat ta aqui nesse trem.
Eu abro o servidor pelo executar aqui e dentro dele há várias pastas, sendo que uma delas é o do meu projeto.

Usando um cvs, assim q eu alterar um arquivo.java, será alterado o .class dele no servidor?


Sim…o tomat faz sim…eu uso direto.
Na versão 6x tem umas questões de gastos de memoria…mas na versão 7 ja foi corrigido.
Vale lembrar que quando vc atualiza um recursos…todas as sessões existente serão descartadas…e vc deve tratar corretamente isso na sua solução.

adriano_si

Cara, se bem entendi, queres saber uma forma de atualizar tua Aplicação em um Servidor remoto sem ter que parar a aplicação ??? É isso ???

Bom, normalmente em clientes que já prestei consultoria, o cara possuia uma máquina servidora onde só ele tinha o poder de alterar, eu como mero mortal, gerava um novo .war ou .ear (dependendo da app e do server) e eles atualizavam lá…

Localmente, o Tomcat atualiza pra ti, logo não precisas se preocupar, a nível de produção, a menos que tenha uma restrição muito grande, aconselho a parar o serviço e mandar um novo arquivo para deploy… enfim… precisaria saber sua real dúvida e o cenário do seu cliente.

Abs [] e sucesso na solução…

Mstanguine

Como disseram, geralmente as empresas tem algum controle de versão (SVN).
Quando vc faz um “commit”, as alterações que você fez “alimentam” o que esta no servidor.

Na empresa onde trabalho, além do SVN, usamos tbm o ‘Ant’. Fazemos o deploy por ele, testamos, depois “comitamos”.
Verifica como é o padrão de desenvolvimento na sua empresa. =)

adriano_si

Mstanguine:
Como disseram, geralmente as empresas tem algum controle de versão (SVN).
Quando vc faz um “commit”, as alterações que você fez “alimentam” o que esta no servidor.

Na empresa onde trabalho, além do SVN, usamos tbm o ‘Ant’. Fazemos o deploy por ele, testamos, depois “comitamos”.
Verifica como é o padrão de desenvolvimento na sua empresa. =)

Bom, uso o SVN somente para repositório de códigos.

Acho que a dúvida dele é mais sobre atualizar a versão da aplicação, não do código…

Se quiser fazer as 2 coisas, pode começar a verificar o uso de uma ferramenta de Integração Contínua… Recomendo o Jenkins.

Abs []

S

EH pq eh assim pessoal,

esse eh o primeiro estagio em que eu mexo com uma aplicacao que ja ta num servidor.

Aí eu entrei e to meio perdido pq não sei como farei na hora q precisar atualizar alguma funcionalidade.

um ex pra vcs terem ideia.

Numa selecao numa jsp lá não há o botao de deletar, entao digamos que eu precise implementá-lo.

Eu vou trocar uma servlet lá e talz, depois q eu fizer isso vou ter q fzer um .war e mandar todos os arquivos pro servidor, mesmo aqueles que nao foram alterados?

eu n acho as pastas do tomcat la no servidor, apenas a pasta do meu projeto e de mais outros la q não estao relacionados.

ViniGodoy

Minha maior dúvida é… por que não abriu a dúvida no fórum de web?
Nem tudo é Java Básico.

Tópico movido.

S

Engano meu hehe,
mas alguem tem ideia disso ai que eu falei por ultimo?

Criado 9 de setembro de 2011
Ultima resposta 12 de set. de 2011
Respostas 10
Participantes 6