123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- ---
- title: Creating a Project with Maven
- order: 200
- layout: page
- ---
-
- [[getting-started.maven]]
- = Creating a Project with Maven
-
- ((("Maven", "creating a project", id="term.maven.creating", range="startofrange")))
-
- 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 in 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
- link:https://github.com/johndevs/gradle-vaadin-plugin[Gradle Vaadin Plugin].
-
- 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
-
- You can create a new Maven project with the following command (given in one
- line):
-
- [subs="normal"]
- ----
- [prompt]#$# [command]#mvn# archetype:generate \
- -DarchetypeGroupId=com.vaadin \
- -DarchetypeArtifactId=[replaceable]#vaadin-archetype-application# \
- -DarchetypeVersion=[replaceable]#8.x.x# \
- -DgroupId=[replaceable]#com.pany# \
- -DartifactId=[replaceable]#project-name# \
- -Dversion=[replaceable]#0.1# \
- -Dpackaging=war
- ----
- 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.
- 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.
- For prerelease versions it should be the exact version number, such as [literal]#++8.0.0.beta2++#.
-
- [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
- the Java package in the sources, so it should be Java compatible - only
- alphanumerics and an underscore.
-
- [parameter]#artifactId#:: Identifier of the artifact, that is, your project. The identifier may contain
- alphanumerics, minus, and underscore. It is appended to the group ID to obtain
- the Java package name for the sources. For example, if the group ID is
- com.example and artifact ID is myproject, the project sources would be placed in
- com.example.myproject package.
-
- [parameter]#version#:: Initial version number of your application. The number must obey the Maven
- version numbering format.
-
- [parameter]#packaging#:: How will the project be packaged. It is normally [literal]#++war++#.
-
-
-
- Creating a project can take a while as Maven fetches all the dependencies.
-
- [[getting-started.maven.compiling]]
- == Compiling and Running the Application
-
- ((("Maven", "compiling", id="term.maven.compiling", range="startofrange")))
-
-
- Before the application can be deployed, it must be compiled and packaged as a
- WAR package. You can do this with the [literal]#++package++# goal as follows:
-
- [subs="normal"]
- ----
- [prompt]#$# [command]#mvn# package
- ----
- The location of the resulting WAR package should be displayed in the command
- output. You can then deploy it to your favorite application server.
-
- The easiest way to run Vaadin applications with Maven is to use the light-weight Jetty web server.
- After compiling the package, all you need to do is type:
-
- [subs="normal"]
- ----
- [prompt]#$# [command]#mvn# jetty:run
- ----
-
- The special goal starts the Jetty server in port 8080 and deploys the
- application. You can then open it in a web browser at
- http://localhost:8080/project-name.
-
- (((range="endofrange", startref="term.maven.compiling")))
-
- [[getting-started.maven.addons]]
- == Using Add-ons
-
- ((("Maven", "using add-ons", id="term.maven.addons", range="startofrange")))
-
- If you use Vaadin add-ons from the http://vaadin.com/directory[Vaadin Directory], you need to add them as dependencies in the project POM.
- The instructions are given in <<dummy/../../../framework/addons/addons-maven#addons.maven, "Using Add-ons in a
- Maven Project">>.
-
- _In projects that use Vaadin 7.6 or older_, you need to compile the widget set manually.
- See the add-on usage instructions.
-
- (((range="endofrange", startref="term.maven.addons")))
- (((range="endofrange", startref="term.maven.creating")))
|