A estrutura de arquivos do projeto possui diferenças durante o desenvolvimento e em produção, após gerar o ".war". É importante entendermos essa diferença principalmente ao trabalharmos com os blocos Pasta da Aplicação, Pasta temporária e Pasta reciclável da aplicação. Mostraremos algumas diferenças e como tratar.
Arquivos em desenvolvimento
Os arquivos ficam localizados na árvore de arquivo no canto esquerdo da área de produção, como mostrado na figura 1.1. Note que a pasta mobileapp fica localizada no endereço "src/main/mobileapp", com isso, caso precise acessar a pasta, você precisaria informar esse caminho nos blocos de programação. No entanto, ao exportar seu projeto no formato ".war" , o caminho não será o mesmo, após compilado ele não ficará mais dentro de "src", e sim na raiz do projeto, como mostrado na figura 1.2.
Figura 1.1 - Localização da pasta mobileapp em produção
Arquivos no .war
Na figura 1.2, verifique que a estrutura dos arquivos estão diferentes da estrutura de desenvolvimento, que o caminho para acessar a pasta webapp precisaria ser acessado pelo endereço "src/main/webapp", já quando o arquivo é extraído no formato ".war", o conteúdo da pasta webapp está na raiz, podendo também acessar dentro dela a pasta mobileapp.
Figura 1.2 Localização da pasta mobileapp em .war
Para a pasta mobileapp ser visualizada, é preciso que ela seja selecionada na hora de efetuar a extração dos arquivos no formato ".war", para isso, acesse o tópico War da documentação Importar e exportar projetos.
Como tratar pastas em ambientes diferentes
Abaixo (Figura 2) usamos um exemplo para baixar o arquivo "meuarquivo.txt" que está dentro da pasta views do ambiente web. O código abaixo faz a verificação nas duas árvores de arquivos diferentes, tanto em desenvolvimento quanto em produção ".war".