我想知道是否有可能找到放在耳塞中的XML文件中的内容。它可以帮助我找到java bean的属性。
在耳朵里,我可以遍历文档并查看内部的内容,但如果它是一个jar,我就无法在其中迭代文档。
有人可以给我一些建议吗?
答案 0 :(得分:1)
从ear文件中,您应该能够提取jar文件。然后,您可以使用WinZip,7 Zip等来浏览GUI中的jar文件内容。或者,您可以运行jar tf命令在命令行中提取jar文件的内容。如果您没有这些工具并使用Windows,那么您可以将jar文件重命名为.zip,Windows应该能够探索它(大多数情况下它都有效)。
编辑 - 我不确定你是否想用Java做这件事。在这种情况下,您正在寻找JarFile。我在这里找到了example以编程方式探索Jar内容。
答案 1 :(得分:1)
所以我只测试了你想要做的事情 - 只要JAR位于你的EAR的类路径中,那么你就可以访问其中的任何文件。基本上尝试从应用程序的context-root查找文件。
例如,如果在您的JAR中文件abc.xml
位于包a.b.resources
下,那么从EAR中的servlet可以使用以下命令访问它:
InputStream is = this.getClass().getClassLoader().getResourceAsStream("a/b/resources/abc.properties");
答案 2 :(得分:0)
是的,您可以读取打包到zip文件中的任何文件。在你的路上你必须打开多少嵌套的zip文件并不重要。使用ZipInputStream,获取所需的ZipEntry,读取它的内容。如果它仍然是zip,请将其打开并反复执行,直到您访问所需的资源。