Olá pessoal, tudo bom?
O post de hoje está relacionado a um erro 404 que encontrei ao tentar acessar o root context de uma app no browser. Veja mais detalhes abaixo sobre esse erro e como realizar a correção para o JBoss.
Descrição do Erro
Realizei a configuração do Servidor JBoss WildFly, versão 9.0.1.final, conforme o artigo de configuração do server (link). Conforme descrito no final do artigo, você deverá acessar via browser o projeto que foi explodido dentro do servidor, por exemplo:
http://localhost:8080/TicketsEventos_JSF
Acontece que ao acessar essa url, o meu servidor retornou um erro 404, conforme mostra a Figura 01.
Mas se o servidor estiver iniciado e o projeto adicionado esse erro não deveria acontecer.
Solução
Existem algumas formas de corrigir esse erro.
A primeira solução é mudar o nome do projeto, pois com o nome atual do projeto eu percebi que ele conseguia iniciar uma nova sessão da aplicação. O problema é que isso pode ser um entrave grande, visto que muitas vezes um projeto possui dependências e outros aspectos relacionados com o seu nome. Assim essa solução não seria viável.
A segunda solução, própria para o servidor JBoss é criar JBoss Web Application Deployment Descriptor (link). Esse arquivo possui a capacidade de incluir informações prioritárias para a execução de uma determinada aplicação Web, influindo assim em seu comportamento.
Esse arquivo deverá possuir o nome de jboss-web.xml e deverá estar presente dentro da pasta WEB-INF, conforme mostra a Figura 02
Dentro desse arquivo você deverá criar um código muito parecido com o abaixo:
1 2 3 4 |
<?xml version="1.0" encoding="UTF-8"?> <jboss-web> <context-root>/my_custom_root</context-root> </jboss-web> |
Esse my_custom_root deverá ser substituído pelo nome do projeto que você necessita deixar, por exemplo TicketsEventos_JSF
Agora reinicie o servidor JBoss novamente e tente acessar a url de localhost com o nome do context root que você deixou, por exemplo:
http://localhost:8080/TicketsEventos_JSF
O sistema deverá ser acessado corretamente, conforme mostra figura 03.
finally{
Caso você achou mais alguma solução para essa exception, por favor deixe nos comentários abaixo!
Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!
Até um próximo post!
Pedro says
E quando isso nao resolve, o que posso fazer ?
Mauda says
Olá Pedro, tudo bom?
Qual stack trace está imprimindo?
Mais outras informações relevantes pra me ajudar?
Veja como está a pasta de deployment do JBoss? Veja se existe mais alguns projetos dentro além do seu?
Obrigado.
Pedro says
Olá Mauda,
Obrigado pelo retorno.
Acredito que era algum conflito da IDE(Eclipse Oxygen), consegui resolver depois que criei novamente o projeto do zero, reinstalei o eclipse e os plugins do jboss e o wildfly.
Obrigado mais uma vez.
Mauda says
Olá Pedro, tudo bom?
OK. Qualquer coisa estamos aqui.
Obrigado.