当 Web 应用程序在 Maven 驱动的 Vaadin 14 Web 应用程序中启动时,我的 Java 代码加载的数据或配置文件放在哪里

Where to put data or config files loaded by my Java code when web app launches in a Vaadin 14 web app driven by Maven

在由 Vaadin Starter page 的 "Plain Java Servlet" 风格创建的 Vaadin 14 网络应用程序项目中,有许多文件夹由 Maven POM 文件进程自动创建。

在我的 Web 应用程序启动时我将加载和解析的数据文件或配置文件放在哪里?我的文件放在什么文件夹下?我应该创建更多的嵌套文件夹吗?我通过什么文件路径名找到并加载这样一个文本(XML、JSON、CSV 等)文件?

文件位置

您将它们放在 src/main/resources 中,因为它也是 Vaadin 应用程序之外的惯例。

Vaadin 添加了其他几个资源根,用于稍后在 jar 中的位置,vaadin 可以方便地找到它们(例如在 META-INF/resources/... 下)。

resources 仍然在 jar 的根目录中或通过构建工具正确地 "classpathed" 并且可以安全地通过应用程序中的类加载器加载非 类 .

正在打开文件

您可以通过调用 Class::getResourceAsStream, returning an InputStream 从那里打开您的文本文件。请注意前导斜线字符。

InputStream inputStream = this.getClass().getResourceAsStream( "/myfile.txt" ) ;