使用可执行Jar时找不到Spring-Boot资源

使用可执行Jar时找不到Spring-Boot资源,第1张

使用可执行Jar时找不到Spring-Boot资源

好的,我已经找到了真正的问题和解决方案。

首先,应用程序使用了正确的csv文件路径,但是在使用可执行jar时,还有另一个问题。

在我开始讨论可执行jar之前,我使用以下解决方案来获取CSV文件(问题是getFile()):

final List<String> resourceLines = FileReadUtils.readLines(specialisationResource.getFile());for (final String line : resourceLines) {  data.add(getNewTransientSpecialisation(line));}

但是在可执行的jar中,我无法将资源用作文件,我需要将其用作流,请参见上面提供的链接。所以我需要更改代码。如果您更喜欢使用本机Java,则可以执行以下 *** 作:

final InputStream inputStream = specialisationResource.getInputStream();final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));String line;while ((line = bufferedReader.readLine()) != null) {    data.add(getNewTransientSpecialisation(line));}

我更喜欢使用框架并使用如下所示的apache commons:

final List<String> resourceLines = IOUtils.readLines(specialisationResource.getInputStream());for (final String line : resourceLines) {    data.add(getNewTransientSpecialisation(line));}

因此,请记住,不要使用File()获取资源,请始终使用流来避免从一开始就出现该问题:-)

希望能对某人有所帮助。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4991825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存