Buscar versão de software no manifest

Bom dia a todos… Estou com um problema para ler uma chave do manifest.mf. Eu tenho uma aplicação cliente-servidor, na qual eu preciso ler a versão de ambos. Resolvi então colocar a versão como uma chave no manifest.mf. No caso do cliente, que é um arquivo jar foi fácil:

public String buscaVersaodoCliente(){
		try {
			Class            cls            = Class.forName ( "com.sismed.principal.IWG2" );			
			ProtectionDomain pDomain        = cls.getProtectionDomain();
			CodeSource       cSource        = pDomain.getCodeSource();
			URL              loc            = cSource.getLocation();
			JarFile          jar            = new JarFile ( new File(loc.getFile()) );
			Manifest         manifest       = jar.getManifest();
			Attributes       attrs          = (Attributes) manifest.getMainAttributes();			
			String           versaoCliente  = attrs.getValue("Specification-Version");
			return versaoCliente;
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "Impossível detectar a versão";
	}

Note que no caso é necessário buscar a classe principal do programa: no caso, IWG2.class, e passar o path de onde ela está…

Agora, no caso do servidor, o arquivo é do tipo war, logo não tem classe principal. Daí não tem jeito de eu preencher a variavel cls citada acima para ler o manifest dele… Como faço? Me disseram que pode-se usar o web-xml para guardar a versão e usar um servlet pra ler… Essa é a forma correta de se fazer em se tratando de arquivo war? Ou devo usar o manifest?