Como implantar um arquivo de guerra no Tomcat 7

346

Copiei o sample.wararquivo no webappsdiretório do Tomcat e posso acessar localhost:8080.

Agora, como o Tomcat o implementará? Quero dizer, preciso abri-lo no navegador? Como posso acessar o aplicativo?

nazar_art
fonte

Respostas:

325

Você pode acessar seu aplicativo em: http://localhost:8080/sample

A implantação ou reimplantação de arquivos war é automática por padrão - após copiar / substituir o arquivo sample.war, verifique sua webappspasta em busca de uma pasta extraída sample.

Se não abrir corretamente, verifique os arquivos de log (por exemplo, tomcat / logs / catalina.out) quanto a problemas na implantação.

Bozho
fonte
7
e se o WAR for chamado "ROOT.war?" Onde posso encontrar essa GUERRA?
22612 Kevin Meredith
5
E se eu quiser implantar meu sample.war no localhost: 8080 / somethingdifferent?
precisa saber é o seguinte
15
você pode especificar isso no META-INF / context.xml
Bozho 19/03/2013
5
O META-INF / context.xml, é o tomcat \ conf \ context.xml? Ou deveria estar no meu aplicativo que estou implantando?
Koray Tugay
2
pode estar em ambos os lugares. Eu prefiro que seja dentro do aplicativo
Bozho
89

passo 1. aqui estou implantando o pos.war Primeiro vá para a pasta tomcat webapps e cole-a

insira a descrição da imagem aqui

passo 2. vá para tomcat-> pasta bin inicie o tomcat clicando em startup.bat

etapa 3. vá para o navegador escreva localhost: nome da porta / projeto, por exemplo. localhost: 8080 / pos (aqui meu tomcat é executado na porta 8080)

Feito....

insira a descrição da imagem aqui

Ferdous Wahid
fonte
Obrigado! Além disso, eu precisava definir permissões para minha estrutura de diretório Tomcat recém-instalada, para que meu WAR pudesse ser extraído e os arquivos de log pudessem ser gerados.
Anthony De Souza
59

Você só precisa colocar seu arquivo war nos aplicativos da web e depois iniciar o servidor.

será implantado.

caso contrário, você também pode usar o tomcat manager em uma Webfront para carregar e implantar sua guerra remotamente.

Jigar Joshi
fonte
11
Infelizmente não funciona! Deseja testar meu arquivo de guerra específico ?! Faça o download de "linshare-core-1.8.4-without-SSO.war" em " forge.linshare.org/projects/linshare/files "
Dr.jacky
@ Mr.H cauda do log quando você iniciar o servidor depois de colocar guerra, você vai encontrar por que ele não está funcionando
Jigar Joshi
11
"Se o atributo Host autoDeploy for" true ", o Host tentará implantar e atualizar aplicativos da Web dinamicamente, conforme necessário, por exemplo, se um novo .WAR for descartado no appBase. Para que isso funcione, o Host precisa ter um plano de fundo processamento ativado, que é a configuração padrão. "
haltunbay
50

Etapas manuais - Windows

  1. Copie o arquivo .war (por exemplo: prj.war) para %CATALINA_HOME%\webapps(por exemplo: C: \ tomcat \ webapps)

  2. Corre %CATALINA_HOME%\bin\startup.bat

  3. Seu arquivo .war será extraído automaticamente para uma pasta com o mesmo nome (sem extensão) (por exemplo: prj)

  4. %CATALINA_HOME%\conf\server.xmle pegue a porta do protocolo HTTP. <Connector port="8080" ... />. O valor padrão é 8080 .

  5. Acesse o seguinte URL:

    [<protocol>://]localhost:<port>/folder/resourceName

    (Por exemplo: localhost:8080/folder/resourceName)

Não tente acessar o URL sem o resourceNameporque ele não funcionará se não houver arquivo como index.html, ou se não houver um padrão de URL como " /" ou " /*" no web.xml .

Os caminhos principais disponíveis estão aqui: [<protocol>://]localhost:<port>/manager/html(por exemplo:) http://localhost:8080/manager/htmle eles têm truena coluna "Em execução".


Usando o gerenciador de interface do usuário:

  1. Ir para [<protocol>://]localhost:<port>/manager/html/(geralmente localhost:8080/manager/html/)

    Isso também é possível em [<protocol>://]localhost:<port>> Gerenciador de aplicativos )

    Se você pegar:

    403 Acesso negado

    vá para %CATALINA_HOME%\conf\tomcat-users.xmle verifique se você ativou uma linha como esta:

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. No Deploy seção, arquivo WAR a subseção de implantação, clique em Browse ... .

    Implantar a navegação

  3. Selecione o arquivo .war (por exemplo: prj.war)> clique em Implementar .

  4. Na seção Aplicativos , você pode ver o nome do seu projeto (por exemplo: prj).
ROMANIA_engineer
fonte
20

Além das maneiras já mencionadas (soltar o arquivo war diretamente no diretório webapps ), se você tiver o aplicativo Tomcat Manager instalado, também poderá implantar arquivos war pelo navegador. Para chegar ao gerenciador, navegue até a raiz do servidor (no seu caso, localhost: 8080), selecione "Tomcat Manager" (neste momento, você precisa saber o nome de usuário e a senha de um usuário do Tomcat com "manager" - função, os usuários são definidos em tomcat-users.xml no conf-diretório da instalação do tomcat). Na página de abertura, role para baixo até ver a parte "Implementar" da página, onde você pode clicar em "procurar" para selecionar um arquivo WAR a ser implantado na sua máquina local. Depois de selecionar o arquivo, clique em implantar. Depois de um tempo, o gerente deve informar que o aplicativo foi implantado (e se tudo correu bem, foi iniciado).

Aqui estão mais instruções e outras instruções nas páginas de documentação do Tomcat 7.

esaj
fonte
4
O managerpapel no Tomcat 7 é agora manager-gui. Fui mordido por este.
SpliFF
2
Soltar o arquivo .war nos webapps não funcionou para mim e não havia sinal de erro nos logs. Fazer isso com o Tomcat Manager fez o truque. Nem uma pista sobre por que o primeiro método falhou
xverges
15

Existem duas maneiras:

  1. Você pode fazer a implantação a quente (implantação a quente significa implantar quando o servidor está em execução / ativo).
  2. Ou você pode fazer uma implantação a frio (implantação a frio significa implantar quando o servidor está parado).

Basta usar o console do gerenciador do tomcat para implantação do console ou simplesmente copiar e colar seu aplicativo na pasta webapp do diretório tomcat_home do servidor.

Nota: Verifique se o tamanho do seu arquivo war é superior a 52 MB ( o valor de configuração padrão ), é necessário fazer duas pequenas alterações no arquivo web.xml do aplicativo Manager da sua pasta webapp (o aplicativo Manager é fornecido por Apache tomcat por padrão ao instalar o servidor).

  • Acesse o web.xml do aplicativo gerenciador (por exemplo, ele pode estar em /tomcat7/webapps/manager/WEB-INF/web.xml.

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>

    Aumente o tamanho colocando os valores para <max-file-size>e de <max-request-size>acordo com sua exigência.

Shailesh Saxena
fonte
10

Isso tem funcionado para mim:

  1. Crie seu arquivo de guerra (mysite.war) localmente.
  2. Renomeie-o localmente para algo além de .war, como mysite.www
  3. Com o tomcat ainda em execução, faça o upload de mysite.www nos webapps diretório .
  4. Após concluir o upload, exclua a versão anterior mysite.war
  5. Liste o diretório, observando o diretório / mysite desaparecer.
  6. Renomeie mysite.www para mysite.war
  7. Liste o diretório, observando o novo / mysite a ser criado.

Se você tentar fazer upload do novo arquivo como um arquivo war, com o tomcat ainda em execução, ele tentará expandi-lo antes que esteja tudo lá. Isso irá falhar. Tendo falhado, não tentará novamente. Assim, o upload de um arquivo www e o renomeado permite que todo o arquivo war esteja presente antes que o tomcat o note.

Dica, não se esqueça de verificar se o proprietário do arquivo de guerra é tomcat (Use chown)

Fred Myers
fonte
2
Embora isso possa funcionar em casos excepcionais, não é um procedimento válido de remoção da implementação / implantação. mysite.www criará um novo contexto se autodeploy = "true" e a exclusão de mysite.war excluirá o contexto de mysite sob várias condições normais. A melhor referência é o Tomcat Web Application Deployment .
user250343
4

Se você instalou o tomcat7 usando apt-getno linux, implante seu aplicativo no/var/lib/tomcat7/webapps/

por exemplo.

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

Além disso, continue seguindo o log do tomcat para poder verificar se seu aplicativo está realmente fazendo as pazes com o tomcat.

tail -f /var/lib/tomcat7/logs/catalina.out

O aplicativo implantado deve aparecer em http://172.16.35.155:8080/manager/html

prayagupd
fonte
2

1.Gere um arquivo war do seu aplicativo
2. abra o gerenciador do tomcat, desça a página
3. Clique em procurar para implantar a guerra.
4. escolha seu arquivo de guerra. Ai está!


fonte
2

Para implantar o arquivo war no tomcat, siga as etapas abaixo:

  1. Pare o tomcat. powershell-> services.msc-> OK-> Apache Tomcat 8.5-> stop (no lado esquerdo).

insira a descrição da imagem aqui

  1. Coloque o arquivo .war dentro da pasta E: \ Tomcat_Installation \ webapps, ou seja, webapps, ou seja, put.war (put.war é apenas um exemplo)

insira a descrição da imagem aqui

  1. Após iniciar o tomcat (para iniciar o tomcat powershell-> services.msc-> OK-> Apache Tomcat 8.5-> start)

você receberá uma pasta dentro de E: \ Tomcat_Installation \ webapps ** put **

insira a descrição da imagem aqui

Dessa forma, você pode implantar seu arquivo de guerra no Apache Tomcat.

Deepak Bhavale
fonte
1

Execute as seguintes etapas:

  • Pare o Tomcat
  • Clique com o botão direito do mouse em Project e clique em "Clean and Build"
  • Vá para o diretório do projeto e, dentro da pasta Dist, você receberá o arquivo de guerra que você copia no seu tomcat
  • Pasta webApp
  • Inicie o tomcat
  • extrair arquivo de guerra automático e executar seu projeto
placas
fonte
1

Eu segui as instruções no link a seguir, funciona para mim. http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. Pare o Tomcat

  2. Exclua todos os logs no tomcat / logs e todos os arquivos no tomcat / conf / Catalina / localhost

  3. Remova o arquivo war e o diretório que ele criou (se tiver) de tomact / webapps

  4. Iniciar o Tomcat

  5. Enquanto assiste os logs, copie o arquivo war para o diretório webapps novamente

Depois disso, fique de olho no catalina.xxxx-xx-xx.log para descobrir o problema.

elin
fonte
11
Este não é um procedimento válido de remoção de implementação / implantação, pois interfere nos arquivos gerenciados exclusivamente pelo Tomcat. A melhor referência é Tomcat implantação de aplicativos Web
user250343