Sto cercando di leggere una risorsa MANIFEST.MF in un servlet Java. La mia situazione: ho una GUERRA (con il manifest che voglio leggere) all'interno di un EAR. Ci sono molti altri WAR e JAR nell'AER. Un percorso di classe è davvero lungo.Lettura propria MANIFEST.MF nel servlet Java
Ho provato diversi modi nel Web, incluso StackOverflow.
posso leggere tutti i file utilizzando manifest.mf
this.getClass().getClassLoader().getResources("META-INF/MANIFEST.MF");
e scorrere attraverso di loro. Tuttavia, non so quale sia il mio - non conosco nemmeno il titolo di implementazione poiché questo è generato da una pipe di costruzione. (Posso immaginare con la conoscenza del tubo di compilazione, quindi so che il manifesto corretta è lì. Tuttavia, non riesco a immaginare in un codice di produzione.)
Naturalmente,
this.getClass().getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF");
restituisce una manifesta completamente sbagliato da qualche altro barattolo su un percorso di classe.
Ho anche provato
this.getServletContext().getResourceAsStream("META-INF/MANIFEST.MF");
ma restituisce un valore null.
Come accedere a un file MANIFEST.MF appartenente al WAR contenente un servlet attualmente in esecuzione?
Quali attributi manifest hai intenzione di leggere? Molti di questi sono ottenibili con i metodi Java SE esistenti. – VGR
VGR +1, ottenendo la versione ad esempio: String version = getClass(). GetPackage(). GetImplementationVersion(); – Rustam
I suddetti commenti sono inapplicabili per manifest di WAR e quindi errati. – BalusC