diff options
Diffstat (limited to 'documentation/getting-started/getting-started-maven.asciidoc')
-rw-r--r-- | documentation/getting-started/getting-started-maven.asciidoc | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/documentation/getting-started/getting-started-maven.asciidoc b/documentation/getting-started/getting-started-maven.asciidoc index 3914e973aa..5d4618cb94 100644 --- a/documentation/getting-started/getting-started-maven.asciidoc +++ b/documentation/getting-started/getting-started-maven.asciidoc @@ -1,19 +1,17 @@ --- -title: Using Vaadin with Maven -order: 6 +title: Creating a Project with Maven +order: 200 layout: page --- [[getting-started.maven]] -= Using Vaadin with Maven += Creating a Project with Maven ((("Maven", "creating a project", id="term.maven.creating", range="startofrange"))) - -Maven is a commonly used build and dependency management system. The Vaadin core -library and all Vaadin add-ons are available through Maven. You can use a Maven -with a front-end from Eclipse or NetBeans, or by using the command-line as -described in this section. +In previous sections, we looked into creating a Vaadin Maven project in different IDEs. +In this section, we look how to create such a project on command-line. +You can then import such a project to your IDE. In addition to regular Maven, you can use any Maven-compatible build or dependency management system, such as Ivy or Gradle. For Gradle, see the @@ -21,6 +19,10 @@ link:https://github.com/johndevs/gradle-vaadin-plugin[Gradle Vaadin Plugin]. Vaadin Plugin for Eclipse uses Ivy for resolving dependencies in Vaadin projects, and it should provide you with the basic Ivy configuration. +For an interactive guide, see the instructions at link:https://vaadin.com/maven[vaadin.com/maven]. +It automatically generates you the command to create a new project based on archetype selection. +It can also generate dependency declarations for Vaadin dependencies. + [[getting-started.maven.command-line]] == Working from Command-Line @@ -31,7 +33,7 @@ line): ---- [prompt]#$# [command]#mvn# archetype:generate \ -DarchetypeGroupId=com.vaadin \ - -DarchetypeArtifactId=[parameter]#vaadin-archetype-application# \ + -DarchetypeArtifactId=[replaceable]#vaadin-archetype-application# \ -DarchetypeVersion=[replaceable]#7.x.x# \ -DgroupId=[replaceable]#your.company# \ -DartifactId=[replaceable]#project-name# \ @@ -43,20 +45,13 @@ The parameters are as follows: [parameter]#archetypeGroupId#:: The group ID of the archetype is [literal]#++com.vaadin++# for Vaadin archetypes. -[parameter]#archetypeArtifactId#:: The archetype ID. Vaadin 7 currently supports -[literal]#++vaadin-archetype-application++# archetype for server-side -applications and [literal]#++vaadin-archetype-widget++# for client-side widget -development projects. - -+ -//TODO Vaadin 7: Not all these archetypes are supported -+ -//// -<itemizedlist> <listitem> <literal>vaadin-archetype-clean</literal> is a new project with a barebone skeleton for a regular Vaadin application. The <filename>pom.xml</filename> includes out-commented definitions for additional widgets. </listitem> </itemizedlist> <itemizedlist> <listitem> <literal>vaadin-archetype-widget</literal> is a skeleton for a project with custom widgets. </listitem> </itemizedlist> <itemizedlist> <listitem> <literal>vaadin-archetype-sample</literal> is also for a project with custom widgets, but the skeleton includes the Color Picker example used in <xref linkend="gwt"/>. </listitem> </itemizedlist> <itemizedlist> <listitem> <literal>vaadin-archetype-addon</literal> is for Vaadin add-on projects. It packages the add-on so that it can be published in Vaadin Directory. The archetype is for server-side add-ons and does not include definitions needed for building a widget set. If your add-on includes or requires other than the widgets in the Vaadin core library, you need to copy the required definitions from a POM of a <literal>vaadin-archetype-clean</literal> project. </listitem> </itemizedlist> <itemizedlist> <listitem> <literal>vaadin-archetype-touchkit</literal> is for projects using Vaadin TouchKit, described in <xref linkend="mobile"/>. Notice that this archetype uses the AGPL-licensed version of TouchKit, which requires that your project must also be licensed under the AGPL license. </listitem> </itemizedlist> -//// -[parameter]#archetypeVersion#:: Version of the archetype to use. This should be [literal]#++LATEST++# for normal -Vaadin releases. For prerelease versions it should be the exact version number, -such as [literal]#++7.5.3++#. +[parameter]#archetypeArtifactId#:: The archetype ID. +See the list of available archetypes in <<dummy/../../../framework/getting-started-archetypes#getting-started.archetypes,"Overview of Maven Archetypes">>. + +[parameter]#archetypeVersion#:: +Version of the archetype to use. +This should be [literal]#++LATEST++# for normal Vaadin releases. +For prerelease versions it should be the exact version number, such as [literal]#++7.6.4++#. [parameter]#groupId#:: A Maven group ID for your project. It is normally your organization domain name in reverse order, such as com.example. The group ID is also used as a prefix for @@ -82,7 +77,7 @@ created project structure is shown in [[figure.getting-started.maven.archetype.created]] .A New Vaadin Project with Maven -image::img/maven-project-created.png[] +image::img/maven-project-created.png[scaledwidth=60%] [[getting-started.maven.compiling]] @@ -129,5 +124,3 @@ Maven Project">>. (((range="endofrange", startref="term.maven.addons"))) (((range="endofrange", startref="term.maven.creating"))) - - |