To create a new project, you can use an App Engine-provided
Maven App Engine artifact called appengine-skeleton-archetype,
described below. The App Engine Maven artifact is what creates the
project layout and files required to deploy and run on App Engine.
For more on using Maven with App Engine, see the Using Apache Maven Guide. As an alternative to Maven, you could instead use Eclipse and the Google Plugin For Eclipse, or you could use Apache Ant.
Getting a project ID
To deploy your app to App Engine, you'll need a Google Cloud Platform project. To create a new project:
- Visit Google Developers Console in your web browser.
- If this is your first project, you'll see the Getting Started page: click Create an empty project. (After you create your first project, you might not see the Getting Started page, but may instead see a landing page listing your projects along with a Create Project button, which you can click to create new projects.)
- Supply the project name Guestbook and accept the project ID that is auto-generated for you.
- Click Create.
Make a note of the project ID. You will use the ID when you generate the starter files in the next step.
Generating the starter files
Change to a directory where you want to build your project, then invoke Maven as follows, replacing your-app-id with your project ID:
mvn archetype:generate -Dappengine-version=1.9.24 -Dapplication-id=your-app-id -Dfilter=com.google.appengine.archetypes:
The Maven archetype:generate command asks you a series of questions, then generates a set of starter files based on your answers. To match this tutorial, answer the questions as follows:
-
From the artifact list, choose
1to select the archetypecom.google.appengine.archetypes:appengine-skeleton-archetype. -
For the archetype version, accept the default answer (press enter).
-
When prompted to
Define value for property 'groupId', enter the desired namespace for your app. For this tutorial, specify:com.example.guestbook -
When prompted to
Define value for property 'artifactId', enter a name for the project. For this tutorial, specify:guestbook -
When prompted to
Define value for property 'version', accept the default value. -
When prompted to
Define value for property 'package', supply your preferred package name (or accept the default). The generated Java files will have the package name you specify here. For this tutorial, accept the default answer (com.example.guestbook). -
Confirm your choices by pressing enter (
Y).
Maven generates your starter files in a directory named after the value you entered for the artifactId, in this case guestbook. The directory structure looks like this:

- You'll add your own application Java classes to
src/main/java/... - You'll configure your application using the file
src/main/webapp/WEB-INF/appengine-web.xml - You'll configure your application deployment using the file
src/main/webapp/WEB-INF/web.xml
We'll describe what to do inside these subdirectories later.
Install dependencies
Change directory to the new guestbook that you just created:
cd guestbook
Run this command to install dependencies and do a clean build:
mvn clean install
Wait for the project to build. When the project successfully finishes you will see a message similar to this one:
[INFO] --------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] --------------------------------------------------
[INFO] Total time: 1:16.656s
[INFO] Finished at: Mon Apr 29 11:42:22 PDT 2015
[INFO] Final Memory: 16M/228M
[INFO] --------------------------------------------------
You are now ready to add application code and UI.