Java 关于从jar中读取文件的查询
我正在开发一个spring引导应用程序,它将被其他用户应用程序用作不可执行的jar。spring引导应用程序(jar)读取resources文件夹中的xsd文件。当我们把它作为一个独立的应用程序运行时,它执行得很好 从resources文件夹读取xsd文件的代码-Java 关于从jar中读取文件的查询,java,jar,classpath,classloader,Java,Jar,Classpath,Classloader,我正在开发一个spring引导应用程序,它将被其他用户应用程序用作不可执行的jar。spring引导应用程序(jar)读取resources文件夹中的xsd文件。当我们把它作为一个独立的应用程序运行时,它执行得很好 从resources文件夹读取xsd文件的代码- File xsdValue=new ClassPathResource(“xsd/”+xsdFileName+“.xsd”).getFile(); 但问题是,当用户应用程序调用jar时,它会尝试在自己的resources文件夹而不是
File xsdValue=new ClassPathResource(“xsd/”+xsdFileName+“.xsd”).getFile();
但问题是,当用户应用程序调用jar时,它会尝试在自己的resources文件夹而不是jar的resources文件夹中查找xsd
请告知
非常感谢您的帮助。jar文件中的资源不能作为文件类获取,请使用ClassLoader类的getResourceAsStream方法。jar文件中的资源不能作为文件类获取,改用类加载器类的getResourceAsStream方法。使用路径或标准java类加载器的InputStream。并使用唯一路径<代码>Xyz.class.getResource(“xsd/Xyz/”+…)代码>谢谢Joop Eggen。。你的解决方案让我走上了正确的方向,最终我找到了解决问题的方法。使用带有标准java类加载器的路径或InputStream。并使用唯一路径<代码>Xyz.class.getResource(“xsd/Xyz/”+…)代码>谢谢Joop Eggen。。您的解决方案将我推向了正确的方向,最终我找到了问题的解决方案..正如建议的那样,我使用getResourceAsStream,它工作得非常出色..感谢Alexander lvanov提供了急需的见解和建议。正如建议的那样,我使用了getResourceAsStream,它工作起来很有魅力。感谢Alexander lvanov提供了急需的见解和建议。