有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jakarta ee在Jar中放置的Java读取文件是否也可以放置在Ear中?

我想知道是否有可能在放在jar中的XML文件中找到内容,而jar也放在ear中。它将帮助我找到JavaBean的属性

在ear中,我可以遍历文档并查看其中的内容,但是如果它是一个jar,我就不能遍历其中的文档

有人能给我一些建议吗


共 (3) 个答案

  1. # 1 楼答案

    所以我只是测试了你想做的事情——只要JAR位于你EAR的类路径中,你就可以访问其中的任何文件。基本上,用户可以尝试从应用程序的上下文根目录中查找文件

    例如,如果JAR中的文件abc.xml位于包a.b.resources下,那么可以通过EAR中的servlet访问它:
    InputStream is = this.getClass().getClassLoader().getResourceAsStream("a/b/resources/abc.properties");

  2. # 2 楼答案

    从ear文件中,您应该能够提取jar文件。然后,您可以使用WinZip7 Zip等来探索GUI中的jar文件内容。或者可以运行jar tf命令,在命令行中提取jar文件的内容。如果您没有这些工具,并且使用windows,那么您可以将jar文件重命名为。zip和windows应该能够探索它(大多数情况下都是有效的)

    编辑——我不确定你是否想用Java来做。在这种情况下,您正在寻找JarFile。我在这里找到了一个example用于以编程方式探索Jar内容

  3. # 3 楼答案

    是的,你可以读取任何打包成zip文件的文件。在路上打开多少嵌套的zip文件并不重要。使用ZipInputStream,获取所需的ZipPentry,阅读内容。如果它仍然是zip,打开它,然后一次又一次地做,直到您访问所需的资源