Maven
Accumulator of knowledgeFor the impatient, here's how to get your first Vaadin application up and running:
mvn -B archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=LATEST -DgroupId=org.test -DartifactId=vaadin-app -Dversion=1.0-SNAPSHOT
cd vaadin-app
mvn package jetty:run
The application is now running at http://localhost:8080/.
If you are new to Vaadin, you might want to go through our tutorial, which also uses Maven.
See all available archetypes »More detailed Maven instructions »
Using Vaadin Maven archetypes you can quickly create a new project for different purposes. They also give you example configurations that you can apply to your own projects.
Available archetypes (click on the name to update the code snippet)| vaadin-archetype-application | Single-module project for simple applications. Good for quick demos and testing Vaadin. |
|---|---|
| vaadin-archetype-application-multimodule | Complete Vaadin application development setup with separate production and development profiles. |
| vaadin-archetype-application-example | Example CRUD web application using multimodule project setup. |
| vaadin-archetype-widget | Multimodule setup for new Vaadin add-on with a demo application. |
| vaadin-archetype-touchkit | Mobile development starter using Vaadin TouchKit |
| vaadin-archetype-liferay-portlet | Portlet development setup for open-source Liferay portal |
Command line Maven:
mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=LATEST
Read more about using archetypes »While the archetypes are good way to start projects from scratch, you might want to install the Vaadin dependencies manually.
| groupId | artifactId | description |
|---|---|---|
| com.vaadin | vaadin-server | Vaadin component API for server-side applications. (required) |
| com.vaadin | vaadin-client-compiled | Precompiled Vaadin client-side GWT widgets. Not needed if using your own widgetset. |
| com.vaadin | vaadin-client | Contains classes used to program client-side extensions. Only needed when developing own client side widgets and not needed at runtime. |
| com.vaadin | vaadin-client-compiler | Java to JavaScript compiler only when needed to compiling optimized client-side widgets. (optional) |
| com.vaadin | vaadin-push | Server push communication support for Vaadin. (optional) |
| com.vaadin | vaadin-themes | Default themes for Vaadin. |
Here are the most common Vaadin dependencies to insert into your project's pom.xml:
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-server</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiled</artifactId>
<version>LATEST</version>
</dependency>
<!-- Optional for extending client-side See: https://vaadin.com/book/-/page/clientside.html
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client</artifactId>
<version>LATEST</version>
<scope>provided</scope>
</dependency>
-->
<!-- Optional for optimizing client-side widgets See: https://vaadin.com/book/-/page/mobile.optimization.html
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiler</artifactId>
<version>LATEST</version>
<scope>provided</scope>
</dependency>
-->
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-themes</artifactId>
<version>LATEST</version>
</dependency>
<!-- Optional push support for communication See: https://vaadin.com/book/-/page/advanced.push.html
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-push</artifactId>
<version>LATEST</version>
</dependency>
-->
More information about Vaadin dependencies in Vaadin Wiki.Search for Maven artifacts
Do you need JUnit, Mockito, SLF4J, Joda Time some other Java library? There are almost 100k open-source Java libraries you can use with Vaadin available in the Maven central repository.
Use the search below to search dependency information and browse JavaDoc for all publicly available artifacts.