devsoap/ds-gradle-vaadin

Issue running in production mode with Vaadin 14

Closed this issue · 1 comments

nbabb commented

We are running Vaadin 14 (in compatibility mode), using gradle 5.4.1 and spring boot. The issue we are facing is when trying to have our deployed environments run in production mode we receive the following error.

java.lang.IllegalArgumentException: Failed to find the bundle manifest file 'frontend://vaadin-flow-bundle-manifest.json' in the servlet context for 'ES6' browsers. If you are running a dev-mode servlet container in maven e.g. jetty:run change it to jetty:run-exploded. If you are not compiling frontend resources, include the 'vaadin-maven-plugin' in your build script. Otherwise, you can skip this error either by disabling production mode, or by setting the servlet parameter 'original.frontend.resources=true'.

We have set vaadin.productionMode = true in build.gradle, and application.yml has vaadin.productionMode=true as well.

We were able to get around this issue for now by adding vaadin.original.frontend.resources=true, but my understanding is that we aren't taking advantage of bundling/minification/transpiling with this setting.

As a side note, compatibility mode is set as our understanding is the plugin does not yet support npm builds?

Any help on this issue is greatly appreciated. Thanks.

original.frontend.resources is a Maven setting that allows using fragments to some degree.

The Gradle plugin does not support fragments (#244) and as such this setting should not have an effect. But my guess is that internally Vaadin Flow is using this setting is used to determine some state that is not compatible with the Gradle plugin. I would leave this setting as true if it works for you.

The Gradle plugin will not check that setting and will always transpile and bundle the dependencies regardless of the value in production mode. If production mode is false then the dependencies will be served directly.

NPM compatiblity and Polymer 3 support is being worked on (#240) and will be availabe in version 1.3 of the plugin.