在此处给出的示例中:
https://vaadin.com/docs/framework/application/application-resources.html
images-folder放在应用程序的WEB-INF目录中。
在Vaadin Spring应用程序中,我没有WEB-INF目录,因此我将images文件夹放在“ resources”文件夹中。这是“ src / main / resources”内部和“ target”内部的文件夹结构:
问题是我的应用程序无法访问那里的图像。我总是得到相同的“找不到文件”异常。
我尝试了以下不同的路径描述:
VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "images/pic.png"
VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "/classes/images/pic.png"
VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "/target/classes/images/pic.png"
VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "/applicationName/target/classes/images/pic.png"
...没有任何效果!
如何使Vaadin Spring应用程序可以访问这些图像?
您链接到的示例使用FileResource
。它不能与jar打包的资源一起使用。
最好是,您可以将图像放入src/main/resources/VAADIN/themes/{theme}/
并使用ThemeResource:
// Image as a file resource
FileResource resource = new ThemeResource("images/image.png");
或者,将资源放在src / main / resources /中,然后从类路径访问它:
getClass().getResourceAsStream("/images/image.png")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句