https://github.com/vaadin/skeleton-starter-flow-cdi
Project Base for Vaadin Flow and CDI (JaveEE)
https://github.com/vaadin/skeleton-starter-flow-cdi
cdi jakartaee java javaee project-template tomee vaadin vaadin-flow web-application
Last synced: 2 months ago
JSON representation
Project Base for Vaadin Flow and CDI (JaveEE)
- Host: GitHub
- URL: https://github.com/vaadin/skeleton-starter-flow-cdi
- Owner: vaadin
- License: other
- Created: 2018-08-07T09:57:20.000Z (almost 8 years ago)
- Default Branch: v25
- Last Pushed: 2026-04-14T09:50:21.000Z (2 months ago)
- Last Synced: 2026-04-14T11:24:54.899Z (2 months ago)
- Topics: cdi, jakartaee, java, javaee, project-template, tomee, vaadin, vaadin-flow, web-application
- Language: Java
- Homepage: https://vaadin.com/start
- Size: 9.18 MB
- Stars: 7
- Watchers: 8
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Project Base for Vaadin Flow 25.0
This project can be used as a starting point to create your own Vaadin Flow 25.0 application with CDI.
It contains all the necessary configuration and some placeholder files to get you started.
Vaadin 25.0 is based on Jakarta EE 11.0 and requires Java 21.
The best way to use it is via [vaadin.com/start](https://vaadin.com/start) - you can get only the necessary parts and choose the package naming you want to use.
## Running the Application
Import the project to the IDE of your choosing as a Maven project.
Run application in development mode using
```
mvn wildfly:run -Pdevelopment
```
Open [http://localhost:8080/](http://localhost:8080/) in browser.
If you want to run your app locally in the production mode, run using
```
mvn clean package wildfly:run
```
### Running Integration Tests
Integration tests are implemented using [Vaadin TestBench](https://vaadin.com/testbench). The tests take a few minutes to run and are therefore included in a separate Maven profile. We recommend running tests with a production build to minimize the chance of development time toolchains affecting test stability. To run the tests using Google Chrome, execute
`mvn verify -Pit,production`
and make sure you have a valid TestBench license installed.
### Deployment
The project is a standard Java/Jakarta EE application, so you can deploy it as you see best, via IDE or using Maven plugins. Wildfly and TomEE plugins are pre-configured for easy testing. Wildfly plugin is used for integration tests. Currently only Wildfly properly supports Jakarta EE 11 and Java 21.
Although not officially supported, the application can be deployed also on the [Apache TomEE](http://tomee.apache.org/) server via the `tomee-maven-plugin`, which supports hot deployment of code changes (via the `reloadOnUpdate` setting).
This means that you can make changes to the code in your IDE while the server is running, recompile, and have the server automatically pick up the changes and redeploy them.
This setting is enabled by default in this project.
One known limitation with hot deployment is that after deleting a `@Route`-annotated view, the route is are still navigable after automatic redeployment.
In such case, the application must be restarted to remove the route from the registry permanently.
For documentation on using Vaadin Flow and CDI, visit [vaadin.com/docs](https://vaadin.com/docs/v14/flow/cdi/tutorial-cdi-basic.html)
For more information on Vaadin Flow, visit https://vaadin.com/flow.