Java 如何访问我的EAR部署信息
嗨 我正在JBoss5.1中部署一个EAR文件。我希望能够访问存储在“display name”下的部署文件“application.xml”中的EAR应用程序名称 我想深入了解一个管理webapp如何读取此信息并显示我的EAR部署的所有模块 我认为application.xml是搜索此信息的正确位置 我试着:Java 如何访问我的EAR部署信息,java,jakarta-ee,module,jboss5.x,ear,Java,Jakarta Ee,Module,Jboss5.x,Ear,嗨 我正在JBoss5.1中部署一个EAR文件。我希望能够访问存储在“display name”下的部署文件“application.xml”中的EAR应用程序名称 我想深入了解一个管理webapp如何读取此信息并显示我的EAR部署的所有模块 我认为application.xml是搜索此信息的正确位置 我试着: InputStream in = new MyController().getClass().getResourceAsStream("META-INF/application.xml"
InputStream in = new MyController().getClass().getResourceAsStream("META-INF/application.xml");
但是不要工作!返回空值
建议?(请输入代码)在路径开头添加斜杠:
InputStream in=new MyController().getClass().getResourceAsStream(“/META-INF/application.xml”)代码>
它应该会起作用
但我认为更好的解决方案是使用JMX。它为您提供更高级别的API来访问应用程序服务器资源,包括已部署的应用程序。这种方法的缺点是,我担心您的代码将是特定于JBoss的。我解决了:
ClassLoader loader = getClass().getClassLoader();
URL url = loader.getResource("META-INF/application.xml");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
while (true) {
String line = reader.readLine();
System.out.println(line);
if (line == null) {
break;
}
}
通过这种方式,我解决了问题,并打印了样本的内容
但是我搜索一个高级API来访问应用服务器资源
最好的办法是什么