HTML imports "/frontend/bower_components/..." not found (404)


I’m testing my first Vaadin14 project.

In <head>, I see a lot of imports from “./frontend/bower_components”, but when I try to reach them explicitly (e.g.: by pointing the browser to http://localhost:8081/frontend/bower_components/vaadin-button/src/vaadin-button.html) I get a 404 error.

And, in fact, every component I add to the view is not displayed properly. For example, the button is displayed as mere text, not like a button, althought the <vaadin-button>test</vaadin-button> is there.

I’m compiling, packaging and running with Ant (Maven is not an option, at the moment).
I got the Vaadin jars by packaging a starter app. Did I miss some file, i.e.: do I have to manually copy those .html files in the final .war package?
Or is it just a matter of servlet configuration?

The following are the most relevant parts:

the servlet:

@WebServlet(urlPatterns = "/*", name = "APPNAME servlet", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, closeIdleSessions = true, heartbeatInterval = 60)
public class AUiServlet extends VaadinServlet {

the first (and only) view:

@Route(value = "")
@Theme(value = Lumo.class)
public class AViewHost extends Div implements ErrorHandler, PageConfigurator {

Btw, my custom stylesheet is loaded and my classes are applied properly. The problem lies in the components’ html files.

Thanks for your help,

I spent last night trying to understand where files in /frontend/bower_components should come from:

a) static resource precompiled by Maven, in which case I have to find a workaround (as I’m stuck with Ant for the moment), or

b) dynamic resources, in which case I have to understand what’s wrong in the servlet configuration?

I tried to run the application in Jetty 9.4.14, Jetty 9.4.19 and Tomcat 8: same results…

Any help is greatly appreciated, thanks in advance,

The more I read the documentation, the more it seems to me that those files should be first searched among static files and next searched in jars.

If so, they should be found because I have all Vaadin jars in my project (which actually compiles properly).

Any ideas? I’m stuck…


I eventually decided to anticipate the migration to Maven, and mvn package did the trick by compiling and adding all of the necessary client files.