2017-08-03 88 views
0

[![輸入圖像描述] [1]] [1]我試圖加載文件夾。該項目構建時,該文件夾放置在JAR內部,並且此JAR文件位於ZIP內。Java文件:加載裏面放置JAR的文件夾ZIP

當我嘗試加載資源時,這是它返回的值。

ClassLoader classloader = Thread.currentThread().getContextClassLoader(); 
URL resource = classloader.getResource("templates"); 

郵編: -

zip:/u01/app/iotdomain/servers/d1/tmp/_WL_user/mnt/artifacts/iot/server/ 
ServerCon/p7u/lib/Verticals.jar!/templates 

嘗試過許多不同的方式,但無法找到解決方案。

+0

讓我澄清一下你的情況:你需要加載一個位於_jar file_裏面的資源,並且這個jar文件打包在一個_zip archive_中? –

+0

是的,當我嘗試 URI uri = this.getClass()。getClassLoader()。getResource(foldername).toURI(); 我檢查了URI方案,它返回給我「zip」。並通過查看上面的路徑模板文件夾是在JAR裏面。將其內部的JAR文件夾放在ZIP中。 –

+0

因此,如果我理解正確,您不希望從_currently running_ jar中獲取資源,而是位於另一個zip文件中的另一個jar文件? –

回答

0

正如你在你的問題中所述,資源,你需要獲得訪問位於

內JAR時,該項目是建立

jar文件是打包在一個zip存檔:

此JAR文件位於ZIP

這將意味着,這個形象是你的項目結構,在其資源文件夾中的資源表示

Your project as seen in eclipse, with your resource in its resource folder

和整個項目導出爲jar文件說罐子文件然後再次打包在郵編

如果是這種情況,您可以按照here的說明訪問您的文件。

如果我沒有得到您的觀點,請提供您的項目層次結構圖或闡明所有相關文件的位置。

+0

這是我的項目結構。我不知道文件夾中的所有文件名。我必須閱讀文件的所有內容。 https://i.stack.imgur.com/30Zgo.jpg –

+0

看過你給我的解決方案鏈接之後,看起來我誤解了我。看起來像模板文件夾壓縮在垂直JAR中 –