这种需求可能听起来有些复杂,如果是这样,那么我愿意提供有关实施的最佳实践的建议。我的问题是以下。我有一个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