放翁(文初)的一畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            210 隨筆 :: 1 文章 :: 320 評論 :: 0 Trackbacks
           在《Java 載入Jar內資源問題的探究》這個文檔貼出來以后,有朋友給了我反饋,最終知道了問題就出現在JarOutputstream輸出的時候,雖然支持直接寫入目錄中的文件來同時產生目錄和文件,但是這樣在jar中目錄就不是一個有效的entry,因此在資源定位的時候就無法得到,因此必須也把目錄作為entry寫入,這樣才會正常定位資源。這個問題作了測試以后反饋到我們的工具開發人員那邊,做了修改以后一切都恢復正常,細節決定成敗,那么一點細微的差異,會讓各種框架都無法正常運作。

          代碼修改如下:

          JarOutputStream jos;

                 try

                 {

                     jos = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(file)));

                     String f = "spring/sip-analyzer-dataSource.xml";

                     String dir = "spring/";
                     JarEntry je1 = new JarEntry(dir);
                     jos.putNextEntry(je1);

             
               
              
                     JarEntry je =
          new JarEntry(f);

                     jos.putNextEntry(je);

                     BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:/work/sip3/analyzer/src/conf.test/spring/sip-analyzer-dataSource.xml"));

                     int i = 0;

                     while ((i=bis.read())!=-1)

                     {

                        jos.write(i);

                     }

                     bis.close();

                     jos.closeEntry();

                     jos.close();

          } catch  ...

          posted on 2008-06-03 14:24 岑文初 閱讀(2339) 評論(3)  編輯  收藏

          評論

          # re: Java 載入Jar內資源問題的探究(后續) 2008-06-03 17:52 找人罵
          URL url = Thread.currentThread().getClass().getResource("/org/apache/cxf/APIMessages.properties");
          url = ResourceUtils.extractJarFileURL(url);
          System.out.println(url.getProtocol());
          File file = ResourceUtils.getFile(url);
          String text = FileCopyUtils.copyToString(new FileReader(file));

          如果沒有這句會報錯:
          ResourceUtils.extractJarFileURL(url);  回復  更多評論
            

          # re: Java 載入Jar內資源問題的探究(后續)[未登錄] 2008-06-03 18:13 wonder
          不錯,學習了。  回復  更多評論
            

          # re: Java 載入Jar內資源問題的探究(后續) 2008-07-26 16:04 zhuxing
          俺也遇到過entry沒有顯示寫入,訪問出問題了  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 贡嘎县| 开封市| 瑞安市| 射阳县| 万源市| 胶州市| 紫阳县| 永清县| 保康县| 中卫市| 泾源县| 阳东县| 巴东县| 怀化市| 湘潭市| 微山县| 蓝山县| 蚌埠市| 克什克腾旗| 都兰县| 延庆县| 汝城县| 响水县| 定兴县| 武功县| 桐庐县| 门头沟区| 阿瓦提县| 淮阳县| 陕西省| 嵊泗县| 从江县| 荃湾区| 望江县| 桐梓县| 云龙县| 凉山| 微博| 正蓝旗| 吉林市| 江山市|