Como leio o arquivo de manifesto de um aplicativo da web em execução no apache tomca
Tenho um aplicativo da web que contém um arquivo de manifesto, no qual escrevo a versão atual do meu aplicativo durante uma tarefa de criação de formigas. O arquivo de manifesto é criado corretamente, mas quando tento lê-lo durante o tempo de execução, recebo alguns efeitos colaterais estranhos. Meu código para leitura no manifesto é algo como isto:
InputStream manifestStream = Thread.currentThread()
.getContextClassLoader()
.getResourceAsStream("META-INFFFF/MANIFEST.MF");
try {
Manifest manifest = new Manifest(manifestStream);
Attributes attributes = manifest.getMainAttributes();
String impVersion = attributes.getValue("Implementation-Version");
mVersionString = impVersion;
}
catch(IOException ex) {
logger.warn("Error while reading version: " + ex.getMessage());
}
Quando eu anexo o eclipse ao tomcat, vejo que o código acima funciona, mas parece obter um arquivo de manifesto diferente daquele que eu esperava, o que posso dizer porque a versão ant e o timestamp de compilação são diferentes. Então, coloquei "META-INFFFF" lá, e o código acima ainda funciona! Isso significa que estou lendo outro manifesto, não o meu. Eu também tentei
this.getClass().getClassLoader().getResourceAsStream(...)
Mas o resultado foi o mesmo. Qual é a maneira correta de ler o arquivo de manifesto de dentro de um aplicativo da web em execução no tomcat?
Edita: Obrigado pelas sugestões até agora. Além disso, devo observar que euso executando o tomcat autônomo; Eu o inicio na linha de comando e, em seguida, conecto à instância em execução no depurador do Eclipse. Isso não deveria fazer diferença, deveria?