【发布时间】:2012-04-11 10:31:41
【问题描述】:
这种需求可能听起来有点令人费解,如果是这样,那么我愿意接受有关实施最佳实践的建议。我的问题如下。我有一个 WAR webapp,它包含在 EAR 中。一切都是mavenized。在我的 webapp 中,我试图显示 ear 和 war 的工件 id 和版本号。
战争是一个相当容易处理的案件。在构建战争时,我可以使用简单的 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 上。但是,理想情况下,我想要一个不依赖于服务器的解决方案。
谢谢!
埃里克
【问题讨论】:
标签: java maven war ear pom.xml