Vaadin Flow 14,Jetty嵌入式和静态文件

问题描述 投票:0回答:1

我正在尝试基于Jetty 9.4.20(嵌入式)和Vaadin Flow 14.0.12创建应用程序。

它基于非常好的项目vaadin14-embedded-jetty

我想用一个main-jar打包应用程序,所有依赖库必须位于main-jar附近的文件夹'libs'中。

我删除了maven-assembly-plugin,而是使用maven-dependency-pluginmaven-jar-plugin。在maven-dependency-plugin中,添加<execution>get-dependencies</execution>部分,在其中将Vaadin Flow库中的目录META-INF/resources/,META-INF/services/解压缩到结果JAR中。

在这种情况下,应用程序运行正常。但是,如果我评论<execution>get-dependencies</execution>部分,则结果包中不包含该目录,并且应用程序无法正常工作。

它只是无法提供Vaadin Flow库中的一些静态文件。

仅当我使用...启动打包的应用程序时,才会发生此错误>

$ java -jar vaadin14-embedded-jetty-1.0-SNAPSHOT.jar

...但是从Intellij Idea可以正确启动。

[有一种观点认为Jetty盯着错误的ClassLoader,无法维护对Jar-libs中静态文件的请求。

我正在尝试基于Jetty 9.4.20(嵌入式)和Vaadin Flow 14.0.12创建应用程序。它基于非常棒的项目vaadin14-embedded-jetty。我想使用一个main-jar和所有依赖项来打包应用程序...

jar classloader embedded-jetty vaadin-flow
1个回答
0
投票

META-INF/services/文件必须从Jetty库维护。

© www.soinside.com 2019 - 2024. All rights reserved.