Vaadin Spring-Boot 应用程序在生产模式下作为 JAR 运行时不会呈现 CSS

问题描述

关于为什么在生产中发布新的 Vaadin / Spring-Boot 应用程序时,Vaadin 不会在前端目录中呈现自定义 css 尽管它在调试模式下有任何想法?

该应用是为生产而构建的,如下所示:

mvn install -Pproduction

然后按如下方式运行生成的应用程序:

java --enable-preview -jar target\app-1.0-SNAPSHOT.jar

通过 JAR 文件方法运行时,css 未在浏览器中正确应用。其他一切正常。

当应用程序运行如下:

mvn spring-boot:run 

所有页面都正确呈现。 css 已正确加载。

在LoginView类中,CSS导入如下:

@CssImport(value = "./views/login/login-view.css",themeFor = "vaadin-login-overlay-wrapper")

login-view.css 文件位于[项目目录]\frontend\views\login-view.css

运行 mvn spring-boot:run 时,正确拾取了 CSS 文件,但是使用 JAR 方法运行时,则没有。我不确定这是否是设计使然,但我没有看到 css 文件存储在生成的 JAR 文件中的任何位置。

为了缓解这种情况,我尝试将前端文件放在 [project dir]\src\main\resources\meta-inf\frontend 而不是认位置 [project dir]\frontend 中,因为我读到了 CssImport 在里面看的地方通过 JAR 运行时的 resources\meta-inf\frontend 文件夹。当我将文件在这个位置时,CSS 文件被合并到 JAR 中,并且可以从 http://localhost:8080/frontend/views/login/login-view.css 访问,但可惜 LoginView 页面似乎仍然没有呈现 CSS。

该应用最初是使用 Vaadin 应用构建器构建的。 pom.xml 与认的大致相同。我正在运行 Vaadin 19.0.7。 提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)