Vaadin

Vaadin Maven Example

The Vaadin plugin by default uses Ivy to resolve dependencies, Ivy is a tool to manage dependencies, if you need a project management tool you can use Maven, with Maven you get a complete project management tool that scale well with your application no matter how many resources you put into your application, with Maven you can build it easy with quality and guidelines for uniformity. Maven provides a XML file called POM where all information of builds and dependencies resides.

1. The tools

  • Java JDK 8
  • Latest Eclipse Mars
  • Apache Maven 3.3.3

2. Introduction

In this example we are going to use Maven to create a Vaadin project, compile and run it from the command line, import the project to eclipse and run from eclipse, I am using a predefined Maven archetype for Vaadin, a Maven archetype is a template for the project with information for dependencies and build instructions and also other project related tasks.

3. Prerequisites

  • JDK installed
  • Eclipse Mars installed and working
  • Apache Maven Installed and working also included in the PATH

4. Create the project

Open the command line and write:

Generate project

mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=7.6.2

With this command you are going to generate the project in interactive mode and Maven is going to ask for few parameters, first you get the following output.

groupId

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.3:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.3:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.3:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] Archetype repository not defined. Using the one from [com.vaadin:vaadin-archetype-application:7.6.2] found in cat
alog remote
Define value for property 'groupId': : com.javacodegeeks.examples.vaadinmaven

Maven is asking for a groupId, this groupId is an unique identifier for your project, write the groupId and hit enter.

artifactId

Define value for property 'artifactId': : vaadinmaven

Now Maven is asking for an artifactId, this is the name of the result war of the project without version number, in this case in the archetype is defined to generate a war when you build your project, write the artifactId and hit enter.

version

Define value for property 'version':  1.0-SNAPSHOT: :

Define the version number of your project and hit enter.

package

Define value for property 'package':  com.javacodegeeks.examples.vaadinmaven: :

Choose a default java package for your application and hit enter.

Confirmation

[INFO] Using property: themeName = mytheme
[INFO] Using property: uiName = MyUI
[INFO] Using property: widgetsetName = MyAppWidgetset
Confirm properties configuration:
groupId: com.javacodegeeks.examples.vaadinmaven
artifactId: vaadinmaven
version: 1.0-SNAPSHOT
package: com.javacodegeeks.examples.vaadinmaven
themeName: mytheme
uiName: MyUI
widgetsetName: MyAppWidgetset
 Y: :

To finalize the project generation Maven is asking for your confirmation, review all your parameters to get sure everything is correct and then hit enter.

results

[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: vaadin-archetype-application:7.6.2
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.javacodegeeks.examples.vaadinmaven
[INFO] Parameter: artifactId, Value: vaadinmaven
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.javacodegeeks.examples.vaadinmaven
[INFO] Parameter: packageInPathFormat, Value: com/javacodegeeks/examples/vaadinmaven
[INFO] Parameter: package, Value: com.javacodegeeks.examples.vaadinmaven
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: groupId, Value: com.javacodegeeks.examples.vaadinmaven
[INFO] Parameter: themeName, Value: mytheme
[INFO] Parameter: widgetsetName, Value: MyAppWidgetset
[INFO] Parameter: uiName, Value: MyUI
[INFO] Parameter: artifactId, Value: artifactId
[INFO] project created from Archetype in dir: C:\devel\Java\JEE\artifactId
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18:56 min
[INFO] Finished at: 2016-02-11T11:01:46-04:30
[INFO] Final Memory: 9M/25M
[INFO] ------------------------------------------------------------------------

as a result you get a project generation success, now you have a Vaadin project template to work with, now enter in the generated project folder.

Enter generated folder

cd vaadinmaven

5. Build the project

Make sure you get the pom.xml at the top level in the folder directory and then write the following command.

Build the project

mvn verify

With this command you compile the generated project and run any tests, also will download the needed dependencies, you should get the following output in the console.

verify output

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building vaadinmaven 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- vaadin-maven-plugin:7.6.2:update-theme (default) @ vaadinmaven ---
[INFO] Updating theme VAADIN\themes\mytheme
[INFO] Widgetsets found from classpath:
[INFO] 	com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset in file://C/devel/Java/JEE/vaadinmaven/src/main/resources
[INFO] 	com.vaadin.DefaultWidgetSet in jar:file:C:/Users/Sistemas/.m2/repository/com/vaadin/vaadin-client/7.6.2/vaadin-client-7.6.2.jar!/
[INFO] Addon styles found from classpath:
[INFO] 
[INFO] Search took 15ms
[INFO] Theme "VAADIN\themes\mytheme" updated
[INFO] 
[INFO] --- vaadin-maven-plugin:7.6.2:compile-theme (default) @ vaadinmaven ---
[INFO] Updating theme VAADIN\themes\mytheme
[INFO] Theme "VAADIN\themes\mytheme" compiled
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ vaadinmaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ vaadinmaven ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to C:\devel\Java\JEE\vaadinmaven\target\classes
[INFO] 
[INFO] --- vaadin-maven-plugin:7.6.2:update-widgetset (default) @ vaadinmaven ---
[INFO] auto discovered modules [com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset]
[INFO] Updating widgetset com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset
[INFO] Adding resource directory to command classpath: C:\devel\Java\JEE\vaadinmaven\src\main\resources
[WARNING] Failed to retrieve com.vaadin:vaadin-client-compiler based on project POM
[INFO] Using com.vaadin:vaadin-client-compiler version 7.6.2
[INFO] Widgetsets found from classpath:
[INFO] 	com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset in file://C/devel/Java/JEE/vaadinmaven/src/main/resources
[INFO] 	com.vaadin.DefaultWidgetSet in jar:file:C:/Users/Sistemas/.m2/repository/com/vaadin/vaadin-client/7.6.2/vaadin-client-7.6.2.jar!/
[INFO] Addon styles found from classpath:
[INFO] 
[INFO] Search took 14ms
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ vaadinmaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\devel\Java\JEE\vaadinmaven\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) @ vaadinmaven ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ vaadinmaven ---
[INFO] No tests to run.
[INFO] 
[INFO] >>> vaadin-maven-plugin:7.6.2:compile (default) > process-resources @ vaadinmaven >>>
[INFO] 
[INFO] --- vaadin-maven-plugin:7.6.2:update-theme (default) @ vaadinmaven ---
[INFO] Updating theme VAADIN\themes\mytheme
[INFO] Widgetsets found from classpath:
[INFO] 	com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset in file://C/devel/Java/JEE/vaadinmaven/target/classes
[INFO] 	com.vaadin.DefaultWidgetSet in jar:file:C:/Users/Sistemas/.m2/repository/com/vaadin/vaadin-client/7.6.2/vaadin-client-7.6.2.jar!/
[INFO] Addon styles found from classpath:
[INFO] 
[INFO] Search took 16ms
[INFO] Theme "VAADIN\themes\mytheme" updated
[INFO] 
[INFO] --- vaadin-maven-plugin:7.6.2:compile-theme (default) @ vaadinmaven ---
[INFO] Updating theme VAADIN\themes\mytheme
[INFO] Theme "VAADIN\themes\mytheme" compiled
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ vaadinmaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] 
[INFO] <<< vaadin-maven-plugin:7.6.2:compile (default) < process-resources @ vaadinmaven <<<
[INFO] 
[INFO] --- vaadin-maven-plugin:7.6.2:compile (default) @ vaadinmaven ---
[INFO] auto discovered modules [com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset]
[WARNING] Failed to retrieve com.vaadin:vaadin-client-compiler based on project POM
[INFO] Using com.vaadin:vaadin-client-compiler version 7.6.2
[INFO] Compiling module com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset
[INFO]    Computing all possible rebind results for 'com.vaadin.client.metadata.ConnectorBundleLoader'
[INFO]       Rebinding com.vaadin.client.metadata.ConnectorBundleLoader
[INFO]          Invoking generator com.vaadin.server.widgetsetutils.ConnectorBundleLoaderFactory
[INFO]             Populating eager bundle
[INFO]                Visiting JavaScriptExtension with ConnectorInitVisitor
[INFO]                   JavaScriptExtension will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.JavaScriptExtensionState as a bean
[INFO]                Will serialize class com.vaadin.shared.communication.URLReference using URLReference_Serializer
[INFO]                Visiting BrowserWindowOpenerConnector with ConnectorInitVisitor
[INFO]                   BrowserWindowOpenerConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.BrowserWindowOpenerState as a bean
[INFO]                Visiting FileDownloaderConnector with ConnectorInitVisitor
[INFO]                   FileDownloaderConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.communication.SharedState as a bean
[INFO]                Visiting ResponsiveConnector with ConnectorInitVisitor
[INFO]                   ResponsiveConnector will be in the eager bundle
[INFO]                Visiting RpcDataSourceConnector with ConnectorInitVisitor
[INFO]                   RpcDataSourceConnector will be in the eager bundle
[INFO]                Visiting AbsoluteLayoutConnector with ConnectorInitVisitor
[INFO]                   AbsoluteLayoutConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.absolutelayout.AbsoluteLayoutState as a bean
[INFO]                Visiting JavaScriptComponentConnector with ConnectorInitVisitor
[INFO]                   JavaScriptComponentConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.JavaScriptComponentState as a bean
[INFO]                Visiting AccordionConnector with ConnectorInitVisitor
[INFO]                   AccordionConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.accordion.AccordionState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.tabsheet.TabState as a bean
[INFO]                Visiting AudioConnector with ConnectorInitVisitor
[INFO]                   AudioConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.audio.AudioState as a bean
[INFO]                Visiting BrowserFrameConnector with ConnectorInitVisitor
[INFO]                   BrowserFrameConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.browserframe.BrowserFrameState as a bean
[INFO]                Visiting ButtonConnector with ConnectorInitVisitor
[INFO]                   ButtonConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.button.ButtonState as a bean
[INFO]                Visiting CheckBoxConnector with ConnectorInitVisitor
[INFO]                   CheckBoxConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.checkbox.CheckBoxState as a bean
[INFO]                Visiting ComboBoxConnector with ConnectorInitVisitor
[INFO]                   ComboBoxConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.combobox.ComboBoxState as a bean
[INFO]                Visiting CssLayoutConnector with ConnectorInitVisitor
[INFO]                   CssLayoutConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.csslayout.CssLayoutState as a bean
[INFO]                Visiting CustomComponentConnector with ConnectorInitVisitor
[INFO]                   CustomComponentConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.AbstractComponentState as a bean
[INFO]                Visiting CustomFieldConnector with ConnectorInitVisitor
[INFO]                   CustomFieldConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.AbstractFieldState as a bean
[INFO]                Visiting CustomLayoutConnector with ConnectorInitVisitor
[INFO]                   CustomLayoutConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.customlayout.CustomLayoutState as a bean
[INFO]                Visiting DateFieldConnector with ConnectorInitVisitor
[INFO]                   DateFieldConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.datefield.PopupDateFieldState as a bean
[INFO]                Will serialize class java.util.Date using Date_Serializer
[INFO]                Visiting DragAndDropWrapperConnector with ConnectorInitVisitor
[INFO]                   DragAndDropWrapperConnector will be in the eager bundle
[INFO]                Visiting EmbeddedConnector with ConnectorInitVisitor
[INFO]                   EmbeddedConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.embedded.EmbeddedState as a bean
[INFO]                Visiting FlashConnector with ConnectorInitVisitor
[INFO]                   FlashConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.flash.FlashState as a bean
[INFO]                Visiting FormConnector with ConnectorInitVisitor
[INFO]                   FormConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.form.FormState as a bean
[INFO]                Visiting FormLayoutConnector with ConnectorInitVisitor
[INFO]                   FormLayoutConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.orderedlayout.FormLayoutState as a bean
[INFO]                Will serialize class java.util.HashMap as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.orderedlayout.AbstractOrderedLayoutState.ChildComponentData as a bean
[INFO]                Visiting GridConnector with ConnectorInitVisitor
[INFO]                   GridConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.grid.GridState as a bean
[INFO]                Will serialize java.lang.String[] as an array
[INFO]                Will serialize class com.vaadin.shared.ui.grid.GridStaticSectionState as a bean
[INFO]                Will serialize com.vaadin.shared.data.sort.SortDirection[] as an array
[INFO]                Will serialize class com.vaadin.shared.data.sort.SortDirection as an enum
[INFO]                Will serialize class com.vaadin.shared.ui.grid.GridStaticSectionState.RowState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.grid.GridStaticSectionState.CellState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.grid.GridStaticCellType as an enum
[INFO]                Will serialize class com.vaadin.shared.ui.grid.GridColumnState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.grid.HeightMode as an enum
[INFO]                Visiting DetailComponentManagerConnector with ConnectorInitVisitor
[INFO]                   DetailComponentManagerConnector will be in the eager bundle
[INFO]                Visiting MultiSelectionModelConnector with ConnectorInitVisitor
[INFO]                   MultiSelectionModelConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.grid.selection.MultiSelectionModelState as a bean
[INFO]                Visiting NoSelectionModelConnector with ConnectorInitVisitor
[INFO]                   NoSelectionModelConnector will be in the eager bundle
[INFO]                Visiting SingleSelectionModelConnector with ConnectorInitVisitor
[INFO]                   SingleSelectionModelConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.grid.selection.SingleSelectionModelState as a bean
[INFO]                Visiting GridLayoutConnector with ConnectorInitVisitor
[INFO]                   GridLayoutConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.gridlayout.GridLayoutState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.gridlayout.GridLayoutState.ChildComponentData as a bean
[INFO]                Visiting HorizontalLayoutConnector with ConnectorInitVisitor
[INFO]                   HorizontalLayoutConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.orderedlayout.HorizontalLayoutState as a bean
[INFO]                Visiting HorizontalSplitPanelConnector with ConnectorInitVisitor
[INFO]                   HorizontalSplitPanelConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.splitpanel.HorizontalSplitPanelState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.splitpanel.AbstractSplitPanelState.SplitterState as a bean
[INFO]                Visiting ImageConnector with ConnectorInitVisitor
[INFO]                   ImageConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.image.ImageState as a bean
[INFO]                Visiting InlineDateFieldConnector with ConnectorInitVisitor
[INFO]                   InlineDateFieldConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.datefield.InlineDateFieldState as a bean
[INFO]                Visiting JavaScriptManagerConnector with ConnectorInitVisitor
[INFO]                   JavaScriptManagerConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.extension.javascriptmanager.JavaScriptManagerState as a bean
[INFO]                Visiting LabelConnector with ConnectorInitVisitor
[INFO]                   LabelConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.label.LabelState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.label.ContentMode as an enum
[INFO]                Visiting LinkConnector with ConnectorInitVisitor
[INFO]                   LinkConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.link.LinkState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.BorderStyle as an enum
[INFO]                Visiting ListSelectConnector with ConnectorInitVisitor
[INFO]                   ListSelectConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.select.AbstractSelectState as a bean
[INFO]                Visiting MenuBarConnector with ConnectorInitVisitor
[INFO]                   MenuBarConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.menubar.MenuBarState as a bean
[INFO]                Visiting NativeButtonConnector with ConnectorInitVisitor
[INFO]                   NativeButtonConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.button.NativeButtonState as a bean
[INFO]                Visiting NativeSelectConnector with ConnectorInitVisitor
[INFO]                   NativeSelectConnector will be in the eager bundle
[INFO]                Visiting OptionGroupConnector with ConnectorInitVisitor
[INFO]                   OptionGroupConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.optiongroup.OptionGroupState as a bean
[INFO]                Visiting PanelConnector with ConnectorInitVisitor
[INFO]                   PanelConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.panel.PanelState as a bean
[INFO]                Visiting PasswordFieldConnector with ConnectorInitVisitor
[INFO]                   PasswordFieldConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.textfield.AbstractTextFieldState as a bean
[INFO]                Visiting PopupDateFieldConnector with ConnectorInitVisitor
[INFO]                   PopupDateFieldConnector will be in the eager bundle
[INFO]                Visiting PopupViewConnector with ConnectorInitVisitor
[INFO]                   PopupViewConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.popupview.PopupViewState as a bean
[INFO]                Visiting ProgressBarConnector with ConnectorInitVisitor
[INFO]                   ProgressBarConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.progressindicator.ProgressBarState as a bean
[INFO]                Visiting ProgressIndicatorConnector with ConnectorInitVisitor
[INFO]                   ProgressIndicatorConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.progressindicator.ProgressIndicatorState as a bean
[INFO]                Visiting SliderConnector with ConnectorInitVisitor
[INFO]                   SliderConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.slider.SliderState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.slider.SliderOrientation as an enum
[INFO]                Visiting TabsheetConnector with ConnectorInitVisitor
[INFO]                   TabsheetConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.tabsheet.TabsheetState as a bean
[INFO]                Visiting TableConnector with ConnectorInitVisitor
[INFO]                   TableConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.table.TableState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.table.CollapseMenuContent as an enum
[INFO]                Visiting TextAreaConnector with ConnectorInitVisitor
[INFO]                   TextAreaConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.textarea.TextAreaState as a bean
[INFO]                Visiting TextFieldConnector with ConnectorInitVisitor
[INFO]                   TextFieldConnector will be in the eager bundle
[INFO]                Visiting TreeConnector with ConnectorInitVisitor
[INFO]                   TreeConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.tree.TreeState as a bean
[INFO]                Visiting TreeTableConnector with ConnectorInitVisitor
[INFO]                   TreeTableConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.treetable.TreeTableState as a bean
[INFO]                Visiting TwinColSelectConnector with ConnectorInitVisitor
[INFO]                   TwinColSelectConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.twincolselect.TwinColSelectState as a bean
[INFO]                Visiting UIConnector with ConnectorInitVisitor
[INFO]                   UIConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.ui.UIState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.ui.PageState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.ui.UIState.LocaleServiceState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.ui.UIState.LocaleData as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.ui.UIState.TooltipConfigurationState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.ui.UIState.ReconnectDialogConfigurationState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.ui.UIState.PushConfigurationState as a bean
[INFO]                Will serialize class com.vaadin.shared.communication.PushMode as an enum
[INFO]                Will serialize class com.vaadin.shared.ui.ui.UIState.LoadingIndicatorConfigurationState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.ui.UIState.NotificationTypeConfiguration as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.ui.NotificationRole as an enum
[INFO]                Visiting UploadConnector with ConnectorInitVisitor
[INFO]                   UploadConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.upload.UploadState as a bean
[INFO]                Visiting VerticalLayoutConnector with ConnectorInitVisitor
[INFO]                   VerticalLayoutConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.orderedlayout.VerticalLayoutState as a bean
[INFO]                Visiting VerticalSplitPanelConnector with ConnectorInitVisitor
[INFO]                   VerticalSplitPanelConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.splitpanel.VerticalSplitPanelState as a bean
[INFO]                Visiting VideoConnector with ConnectorInitVisitor
[INFO]                   VideoConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.video.VideoState as a bean
[INFO]                Visiting WindowConnector with ConnectorInitVisitor
[INFO]                   WindowConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.window.WindowState as a bean
[INFO]                Will serialize com.vaadin.shared.Connector[] as an array
[INFO]                Will serialize class com.vaadin.shared.ui.window.WindowMode as an enum
[INFO]                Will serialize class com.vaadin.shared.ui.window.WindowRole as an enum
[INFO]                Visiting JavaScriptRendererConnector with ConnectorInitVisitor
[INFO]                   JavaScriptRendererConnector will be in the eager bundle
[INFO]                Visiting ButtonRendererConnector with ConnectorInitVisitor
[INFO]                   ButtonRendererConnector will be in the eager bundle
[INFO]                Visiting DateRendererConnector with ConnectorInitVisitor
[INFO]                   DateRendererConnector will be in the eager bundle
[INFO]                Visiting UnsafeHtmlRendererConnector with ConnectorInitVisitor
[INFO]                   UnsafeHtmlRendererConnector will be in the eager bundle
[INFO]                Visiting ImageRendererConnector with ConnectorInitVisitor
[INFO]                   ImageRendererConnector will be in the eager bundle
[INFO]                Visiting NumberRendererConnector with ConnectorInitVisitor
[INFO]                   NumberRendererConnector will be in the eager bundle
[INFO]                Visiting ProgressBarRendererConnector with ConnectorInitVisitor
[INFO]                   ProgressBarRendererConnector will be in the eager bundle
[INFO]                Visiting TextRendererConnector with ConnectorInitVisitor
[INFO]                   TextRendererConnector will be in the eager bundle
[INFO]                Will serialize class com.vaadin.shared.ui.grid.ScrollDestination as an enum
[INFO]                Will serialize class com.vaadin.shared.MouseEventDetails as a bean
[INFO]                Will serialize class com.vaadin.shared.MouseEventDetails.MouseButton as an enum
[INFO]                Will serialize class com.vaadin.shared.ui.grid.GridConstants.Section as an enum
[INFO]                Will serialize class com.vaadin.shared.ui.table.TableConstants.Section as an enum
[INFO]             Populating CalendarConnector bundle
[INFO]                Visiting CalendarConnector with ConnectorInitVisitor
[INFO]                   CalendarConnector will be in the CalendarConnector bundle
[INFO]                Will serialize class com.vaadin.shared.ui.calendar.CalendarState as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.calendar.CalendarState.Event as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.calendar.CalendarState.Action as a bean
[INFO]                Will serialize class com.vaadin.shared.ui.calendar.CalendarState.Day as a bean
[INFO]             Populating ColorPickerConnector bundle
[INFO]                Visiting ColorPickerConnector with ConnectorInitVisitor
[INFO]                   ColorPickerConnector will be in the ColorPickerConnector bundle
[INFO]                Will serialize class com.vaadin.shared.ui.colorpicker.ColorPickerState as a bean
[INFO]             Populating ColorPickerAreaConnector bundle
[INFO]                Visiting ColorPickerAreaConnector with ConnectorInitVisitor
[INFO]                   ColorPickerAreaConnector will be in the ColorPickerAreaConnector bundle
[INFO]                Will serialize class com.vaadin.shared.ui.colorpicker.ColorPickerState as a bean
[INFO]             Populating RichTextAreaConnector bundle
[INFO]                Visiting RichTextAreaConnector with ConnectorInitVisitor
[INFO]                   RichTextAreaConnector will be in the RichTextAreaConnector bundle
[INFO]                Will serialize class com.vaadin.shared.ui.textarea.RichTextAreaState as a bean
[INFO]             Populating ColorPickerGradientConnector bundle
[INFO]                Visiting ColorPickerGradientConnector with ConnectorInitVisitor
[INFO]                   ColorPickerGradientConnector will be in the ColorPickerGradientConnector bundle
[INFO]                Will serialize class com.vaadin.shared.ui.colorpicker.ColorPickerGradientState as a bean
[INFO]             Populating ColorPickerGridConnector bundle
[INFO]                Visiting ColorPickerGridConnector with ConnectorInitVisitor
[INFO]                   ColorPickerGridConnector will be in the ColorPickerGridConnector bundle
[INFO]                Will serialize class com.vaadin.shared.ui.colorpicker.ColorPickerGridState as a bean
[INFO]    Adding '1' new generated units
[INFO]       [WARN] Warnings in 'C:\devel\Java\JEE\vaadinmaven\target\.generated\com\vaadin\client\metadata\ConnectorBundleLoaderImpl.java'
[INFO]          [WARN] Line 4332: Referencing deprecated class 'com.vaadin.shared.ui.progressindicator.ProgressIndicatorState'
[INFO]          [WARN] Line 4335: Referencing deprecated class 'com.vaadin.shared.ui.progressindicator.ProgressIndicatorState'
[INFO]          [WARN] Line 4338: Referencing deprecated class 'com.vaadin.shared.ui.progressindicator.ProgressIndicatorState'
[INFO]          See snapshot: C:\Users\Sistemas\AppData\Local\Temp\com.vaadin.client.metadata.ConnectorBundleLoaderImpl6111815947028518742.java
[INFO]    Computing all possible rebind results for 'com.vaadin.client.ui.dd.VAcceptCriterionFactory'
[INFO]       Rebinding com.vaadin.client.ui.dd.VAcceptCriterionFactory
[INFO]          Invoking generator com.vaadin.server.widgetsetutils.AcceptCriteriaFactoryGenerator
[INFO]             Detecting available criteria ...
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.AcceptAll
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.And
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.ContainsDataFlavor
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIs
[INFO]             creating mapping for com.vaadin.ui.AbstractSelect.TargetItemIs
[INFO]             creating mapping for com.vaadin.ui.AbstractSelect.AcceptItem
[INFO]             creating mapping for com.vaadin.ui.Table.TableDropCriterion
[INFO]             creating mapping for com.vaadin.ui.Tree.TreeDropCriterion
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.Not
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.Or
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.ServerSideCriterion
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIsTarget
[INFO]             creating mapping for com.vaadin.event.dd.acceptcriteria.TargetDetailIs
[INFO]             creating mapping for com.vaadin.ui.Tree.TargetInSubtree
[INFO]             Done. (0seconds)
[INFO]    Compiling 1 permutation
[INFO]       Compiling permutation 0...
[INFO]    Compile of permutations succeeded
[INFO]    Compilation succeeded -- 133,423s
[INFO] Linking into C:\devel\Java\JEE\vaadinmaven\target\classes\VAADIN\widgetsets\com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset
[INFO]    Link succeeded
[INFO]    Linking succeeded -- 0,962s
[INFO] 
[INFO] --- maven-war-plugin:2.3:war (default-war) @ vaadinmaven ---
[INFO] Packaging webapp
[INFO] Assembling webapp [vaadinmaven] in [C:\devel\Java\JEE\vaadinmaven\target\vaadinmaven-1.0-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [C:\devel\Java\JEE\vaadinmaven\src\main\webapp]
[INFO] Webapp assembled in [21711 msecs]
[INFO] Building war: C:\devel\Java\JEE\vaadinmaven\target\vaadinmaven-1.0-SNAPSHOT.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 03:05 min
[INFO] Finished at: 2016-02-11T11:32:39-04:30
[INFO] Final Memory: 18M/45M
[INFO] ------------------------------------------------------------------------

Check the output for the “BUILD SUCCESS” message, to check that everything is ok.

6. Run the project

Now its time to run our project, type the following command:

Run the project

mvn jetty:run

To run the example on jetty, Mave take care again of all dependencies, if you don’t have jetty then Maven download it for you, you get the following output.

Run output

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building vaadinmaven 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> jetty-maven-plugin:9.2.3.v20140905:run (default-cli) > test-compile @ vaadinmaven >>>
[INFO]
[INFO] --- vaadin-maven-plugin:7.6.2:update-theme (default) @ vaadinmaven ---
[INFO] Updating theme VAADIN\themes\mytheme
[INFO] Widgetsets found from classpath:
[INFO]  com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset in file://C/devel/Java/JEE/vaadinmaven/target/classes
[INFO]  com.vaadin.DefaultWidgetSet in jar:file:C:/Users/Sistemas/.m2/repository/com/vaadin/vaadin-client/7.6.2/vaadin-c
lient-7.6.2.jar!/
[INFO] Addon styles found from classpath:
[INFO]
[INFO] Search took 18ms
[INFO] Theme "VAADIN\themes\mytheme" updated
[INFO]
[INFO] --- vaadin-maven-plugin:7.6.2:compile-theme (default) @ vaadinmaven ---
[INFO] Updating theme VAADIN\themes\mytheme
[INFO] Theme "VAADIN\themes\mytheme" compiled
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ vaadinmaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ vaadinmaven ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- vaadin-maven-plugin:7.6.2:update-widgetset (default) @ vaadinmaven ---
[INFO] auto discovered modules [com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset]
[INFO] Updating widgetset com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset
[INFO] Adding resource directory to command classpath: C:\devel\Java\JEE\vaadinmaven\src\main\resources
[WARNING] Failed to retrieve com.vaadin:vaadin-client-compiler based on project POM
[INFO] Using com.vaadin:vaadin-client-compiler version 7.6.2
[INFO] Widgetsets found from classpath:
[INFO]  com.javacodegeeks.examples.vaadinmaven.MyAppWidgetset in file://C/devel/Java/JEE/vaadinmaven/src/main/resources
[INFO]  com.vaadin.DefaultWidgetSet in jar:file:C:/Users/Sistemas/.m2/repository/com/vaadin/vaadin-client/7.6.2/vaadin-c
lient-7.6.2.jar!/
[INFO] Addon styles found from classpath:
[INFO]
[INFO] Search took 17ms
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ vaadinmaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\devel\Java\JEE\vaadinmaven\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) @ vaadinmaven ---
[INFO] No sources to compile
[INFO]
[INFO] <<< jetty-maven-plugin:9.2.3.v20140905:run (default-cli) < test-compile @ vaadinmaven <<<
[INFO]
[INFO] --- jetty-maven-plugin:9.2.3.v20140905:run (default-cli) @ vaadinmaven ---
[INFO] Logging initialized @15815ms
[INFO] Configuring Jetty for project: vaadinmaven
[INFO] webAppSourceDirectory not set. Trying src\main\webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = C:\devel\Java\JEE\vaadinmaven\target\classes
[INFO] Context path = /
[INFO] Tmp directory = C:\devel\Java\JEE\vaadinmaven\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[INFO] web.xml file = null
[INFO] Webapp directory = C:\devel\Java\JEE\vaadinmaven\src\main\webapp
[INFO] jetty-9.2.3.v20140905
[INFO] Initializing AtmosphereFramework
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFORMATION: Installed AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler mapped to context-path: /
*
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFORMATION: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.P
ushAtmosphereHandler
feb 11, 2016 11:50:47 AM org.atmosphere.util.IOUtils readServiceFile
INFORMATION: META-INF/services/org.atmosphere.cpr.AtmosphereFramework not found in class loader
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
INFORMATION: Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework initWebSocket
INFORMATION: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFORMATION: Installing Default AtmosphereInterceptors
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFORMATION: Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMess
ageSuspendInterceptor
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFORMATION: Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Broadcaster Polling Wait Time 100
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Shared ExecutorService supported: true
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Messaging Thread Pool Size: Unlimited
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Async I/O Thread Pool Size: 200
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Invoke AtmosphereInterceptor on WebSocket message true
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: HttpSession supported: true
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Atmosphere is using async support: org.atmosphere.container.Jetty9AsyncSupportWithWebSocket running under c
ontainer: jetty/9.2.3.v20140905 with WebSocket enabled.
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Atmosphere Framework 2.2.7.vaadin1 started.
feb 11, 2016 11:50:47 AM org.atmosphere.cpr.AtmosphereFramework interceptor
INFORMATION: Installed AtmosphereInterceptor  Track Message Size Interceptor using | with priority BEFORE_DEFAULT
[INFO] Started o.e.j.m.p.JettyWebAppContext@b27915{/,file:/C:/devel/Java/JEE/vaadinmaven/src/main/webapp/,AVAILABLE}{fil
e:/C:/devel/Java/JEE/vaadinmaven/src/main/webapp/}
[WARNING] !RequestLog
[INFO] Started ServerConnector@49af50{HTTP/1.1}{0.0.0.0:8080}
[INFO] Started @21035ms
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 2 seconds.
feb 11, 2016 11:51:15 AM com.vaadin.server.DefaultDeploymentConfiguration checkProductionMode
WARNING:
=================================================================
Vaadin is running in DEBUG MODE.
Add productionMode=true to web.xml to disable debug features.
To show debug window, add ?debug to your application URL.
=================================================================

Open your browser and go to the address http://localhost:8080 and you should see your project running.

01 Run project
01 Run project

7. Clean the project

Now let’s clean our project to import it to eclipse, cancel the process running the web server with CTRL-C and then type.

Clean

mvn clean

You should get the following:

Clean output

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building vaadinmaven 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.6.1:clean (default-clean) @ vaadinmaven ---
[INFO] Deleting C:\devel\Java\JEE\vaadinmaven\target
[INFO] Deleting C:\devel\Java\JEE\vaadinmaven\src\main\webapp\VAADIN\themes (includes = [**/styles.css, **/styles.scss.c
ache], excludes = [])
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.921 s
[INFO] Finished at: 2016-02-11T12:05:08-04:30
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------

8. Build the Vaadin widgetset

You need to compile the vaadin widgetset to ensure the project runs well on eclipse so do the following command.

Build the Vaadin widgetset

mvn vaadin:compile

9. Import the project to eclipse

Start eclipse and choose File -> Import

02 Import project
02 Import project

In the dialog choose “Existing Maven Project” option and hit next.

03 Import existing Maven project
03 Import existing Maven project

Now browse the folder when you generated the project, select the pom file and hit finish

04 Choose pom.xml
04 Choose pom.xml

10. Run the project in eclipse

Inside eclipse, right click un the project folder and choose Run As -> Maven Build

05 Run as Maven build
05 Run as Maven build

In the edit configuration dialog write jetty:run in the Goals textbox next hit Run

06 Jetty Run
06 Jetty Run

Now your project should be running inside eclipse and you can start coding and tailor your application as you like.

11. Download the source code

This was an example about Vaadin Maven.

Download
You can download the Eclipse project here: Vaadin Maven Example

Jesus Boadas

I'm a self taught programmer, I began programming back in 1991 using an IBM A10 mainframe with Pascal an Assembler IBM 360/70 emulator and Turbo C on a X86 PC, since that I work for the banking industry with emerging technologies like Fox Pro, Visual Fox Pro, Visual Basic, Visual C++, Borland C++, lately I moved out to the Airline industry, leading designing and programming in-house web applications with Flex, Actionscript, PHP, Python and Rails and in the last 7 years I focused all my work in Java, working on Linux servers using GlassFish, TomCat, Apache and MySql.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
Back to top button