gov.ornl.ssd.web.skel.ui
Template for a Vaadin+Spring+REST app.
Project Structure
The project consists of the following three modules:
- parent project: common metadata and configuration
- gov.ornl.ssd.web.skel.ui-widgetset: widgetset, custom client side code and dependencies to widget add-ons
- gov.ornl.ssd.web.skel.ui-ui: main application module, development time
- gov.ornl.ssd.web.skel.ui-production: module that produces a production mode WAR for deployment
The production mode module recompiles the widgetset (obfuscated, not draft), activates production mode for Vaadin with a context parameter in web.xml and contains a precompiled theme. The ui module WAR contains an unobfuscated widgetset, and is meant to be used at development time only.
Workflow
To compile the entire project, run "mvn install" in the parent project.
Other basic workflow steps:
- getting started
- compiling the whole project
- run "mvn install" in parent project
- developing the application
- edit code in the ui module
- run "mvn spring-boot:run" in ui module
- open http://localhost:8081/
- client side changes or add-ons
- edit code/POM in widgetset module
- run "mvn install" in widgetset module
- if a new add-on has an embedded theme, run "mvn vaadin:update-theme" in the ui module
- debugging client side code
- run "mvn vaadin:run-codeserver" in widgetset module
- activate Super Dev Mode in the debug window of the application
- creating a production mode war
- run "mvn -Pproduction package" in the production mode module or in the parent module