有关从jar中读取文件的查询

问题描述

我正在开发一个Spring Boot应用程序,该应用程序将被其他一些用户应用程序用作不可执行的jar。 Spring Boot应用程序(jar)读取资源文件夹中存在的xsd文件。当我们将其作为独立应用程序运行时,它可以正常运行。

从资源文件夹读取xsd文件代码-

File xsdValue = new ClassPathResource("xsd/" + xsdFileName + ".xsd").getFile();

但是问题是,当用户应用程序调用jar时,它将尝试在自己的资源文件夹中而不是jar的resources文件夹中找到xsd。

请告知!

非常感谢您的帮助。

解决方法

jar文件中的资源无法作为File类获得,请改用ClassLoader类的getResourceAsStream方法。