Olá:
Estou usando uma Aplicação Struts (sem linchamentos, por favor!). Preciso ler um arquivo de properties que está dentro do WEB-INF e por isso preciso saber onde está minha aplicação.
Experimentei tentar instanciar File passando o diretório local no construtor (File f = new File("."); ). Entretanto não deu certo. Se eu acionava o Tomcat pelo Eclipse, aparecia o diretório do Eclipse. Se eu acionava o Tomcat diretamente, aparecia o diretório do Tomcat.
Uma solução que achei foi estender um servlet (no meu caso específico o ActionServlet) e sobrescrever o init():
public void init() throws ServletException {
super.init();
Util.PATH_DIR = this.getServletContext().getRealPath("");
}
Não gosto dessa solução, mas não consegui idéia melhor. Por isso estou pedindo sugestões. Por exemplo, será que não existe um método do tipo System.getPathAplicacao() ou Class.getPathOndeEstou(), de preferência que seja independente da API do Servlet?
Grato,