Configuring Maven.

Creating a project

Creating a new Vaadin project describes a shell base approach. In addition you may need a mvn install prior to starting jetty (or any other application server) by executing mvn jetty:run. This implicitly rebuilds the client side widget set

Searching for artifacts

The Vaadin Maven repository does not allow for tool searching. Thus artifactId and related attributes of required dependencies must be identified in advance. If e.g. maven-cdi is being required http://vaadin.com/nexus/#nexus-search tells us:

<dependency>
  <groupId>com.vaadin</groupId>
  <artifactId>vaadin-cdi</artifactId>
  <version>1.0.2</version>
</dependency>
Jetty configuration

The jetty plugin searches for source code changes. You may want to adjust its scan interval for automatic application redeployment in pom.xml:

<plugin>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>9.3.0.v20150612</version>
				<configuration>
					<scanIntervalSeconds>1</scanIntervalSeconds>
				</configuration>
</plugin>

The above plugin is safe with respect to Java 8 lambda expressions. Some Jetty plugins exhibit lambda expression related NPEs.