I believe it is an update of the Maven archetype that really changed this.
See the readme file in the root project for information on the structure and how to compile/use the project - a “mvn install” in the root project compiles everything for development, “mvn jetty:run” in the ui project runs the application, “mvn vaadin:run-codeserver” in the widgetset module starts Super Dev Mode for client side debugging, “mvn -Pproduction install” in the root or the production module also compiles a non-development WAR etc. The main UI class is in the ui module.