2017-08-03 90 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中 –