這種需求可能聽起來有些複雜,如果是這樣,那麼我願意提供有關實施的最佳實踐的建議。我的問題是以下。我有一個WAR webapp,它包含在EAR中。一切都變得有些麻煩。從我的Web應用程序中,我試圖顯示耳朵的ID和耳朵的版本號以及戰爭。戰爭中的一個階級有沒有辦法從它的耳朵中訪問META-INF?
這場戰爭是一個相當容易處理的案例。我可以使用簡單的Maven過濾來將必要的artifactId/versionId注入到正在構建的戰爭中。然而,耳朵更復雜。
我知道有一個META-INF/maven /// pom.properties,我可以在包含該信息的耳朵中查看,但看不到它。我試過(從一個jsp頁面)以下沒有成功(所有有和沒有領先/);所有調用返回null:
getClass().getClassLoader().getResource("/META-INF/maven/<group>/<artifact>/pom.properties");
getClass().getClassLoader().getResourceAsStream("/META-INF/maven/<group>/<artifact>/pom.properties");
使用類加載器這甚至可行嗎?或者它是類加載器配置依賴?有沒有更好的方法來獲取這些信息?
我目前正在JBoss上運行測試,但最終的部署將在WebSphere上進行。不過,理想情況下,我想要一個不依賴於服務器的解決方案。
謝謝!
埃裏克
感謝您的提示。這可以很好地工作,但是,我似乎無法使注射器正常工作。我正在JBoss 7.0.2上運行,但env-entry似乎並沒有被添加到jndi樹中。你成功運行過哪些服務器? – 2012-03-28 15:47:46
忽略我最後的評論;在配置文件中遇到問題。現在一切正常。謝謝! – 2012-03-28 16:09:44
不客氣,很樂意幫助 – Osw 2012-03-28 17:36:26