【问题标题】:how to get the hibernate configuration file after decompressing EAR>JAR file through java codingjava编码解压EAR>JAR文件后如何获取hibernate配置文件
【发布时间】:2015-11-08 05:23:21
【问题描述】:

我需要获取一个JAR文件中的休眠配置文件,这个JAR文件通过java编码再次在一个EAR文件中。

一个 Ear 包含多个 Jar 文件,一个 Jar 文件包含单个休眠配置文件。

所以结构是某种东西,

一个耳朵 -

##    --Jar1 ##
 ###     ---Folder Structure, and somewhere in the structure hibernate cfg file resides ###
   ## --Jar2 ##
    ### ---Folder structure, and hibernate cfg file ###
    ##--Jar3 and so on ##  

我尝试的是我使用 Java API 的 ZipFileInputStream 阅读器来解压缩 EAR 文件,但我没有得到 Jar 文件的 真实路径(绝对路径),以便我可以提取 Jar 文件和从这些提取层次结构中获取我想要的休眠 cfg 文件。

我能够使用 java 编码使用 java API 的 ZipFileInputStream 阅读器解压缩直接包含休眠 cfg 文件的示例 EAR。但我的要求是 EAR 包含 JAR,并且这个 JAR 包含我正在寻找的配置文件。这就是我通过java编程所做的一切

下面是包含 .cfg.xml 文件的 EAR 的代码 sn-p。

FileInputStream fis = new FileInputStream("C:/Users/USER/Downloads/ContactManager.ear"); 
      ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis)); 
      ZipEntry entry = null; String pathName;
      String fileName; 
      while ((entry = zis.getNextEntry()) != null) { pathName = entry.getName(); 
      if(pathName.endsWith(".cfg.xml")){ System.out.println("path name "+pathName);

请告诉我完成这项任务的最佳方法。 谢谢,

【问题讨论】:

    标签: java maven ear zipfile


    【解决方案1】:

    尝试TrueZip 或将 ZIP 文件内容提取到临时目录并尝试将其作为单独的 ZIP 文件读取。

    【讨论】:

    • 您好,感谢您的回复。但我正在使用java通过编码来完成它
    • @Sandy 所以请证明你已经完成(代码),我会尽力帮助你。
    • FileInputStream fis = new FileInputStream("C:/Users/USER/Downloads/ContactManager.ear"); ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis)); ZipEntry 条目 = null;字符串路径名;字符串文件名; while ((entry = zis.getNextEntry()) != null) { pathName = entry.getName(); if(pathName.endsWith(".cfg.xml")){ System.out.println("路径名"+pathName);
    • @Sandy 您的代码在此处被截断。可以更新原帖吗?
    • 我用简单的工作代码更新了原始问题。
    猜你喜欢
    • 1970-01-01
    • 2011-03-01
    • 2016-12-31
    • 2017-12-02
    • 2018-08-09
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多