In this tutorial, we will show you how to use Eclipse to create a Google App Engine (GAE) Java project (hello world example), run it locally, and deploy it to Google App Engine account.
Tools used :
  1. JDK 1.6
  2. Eclipse 3.7 + Google Plugin for Eclipse
  3. Google App Engine Java SDK 1.6.3.1
Note
GAE supports Java 1.5 and 1.6.
P.S Assume JDK1.6 and Eclipse 3.7 are installed.

1. Install Google Plugin for Eclipse

Read this guide – how to install Google Plugin for Eclipse. If you install the Google App Engine Java SDK together with “Google Plugin for Eclipse“, then go to step 2, Otherwise, get the Google App Engine Java SDK and extract it.

1. Installation

In Eclipse 3.7, click “Help” –> “Install New Software…“, copy and paste following URL :
http://dl.google.com/eclipse/plugin/3.7
Note
For other Eclipse version like 3.3, 3.4, 3.5, 3.6, please refer to this GAE Eclipse documentation.
Figure : Select “Google Plugin for Eclipse (required), and Google App Engine SDK for Java.
install google plugin for eclipse 3.7
Note
The Google App Engine Java SDK is optional, you can download it together with the plugin, Or, download manually from GAE website and link it to “Google Plugin for Eclipse” later.

2. Verification

Wait few minutes for the installation progress, when done, Eclipse prompts you to restart, click yes and the Google Plugin for Eclipse is installed.
Figure – A small Google icon is available in the Eclipse toolbar.
instal googe plugin for eclipse 3.7 success
Don’t use JRE 7
At this moment, don’t use JRE 7 runtime in Eclipse, it will caused the “Google Plugin for Eclipse” failed to install, and prompts you many “jar has been tampered” error message. See this thread.

Google App Engine SDK for Java

VersionPackageSizeSHA1 Checksum
1.8.7 - 2013-11-05appengine-java-sdk-1.8.7.zip146.3 MB4b4261d200c080adffac354a558e3fcc9c1ad872
For more information on the Google App Engine SDK for Java:

Download the Google Plugin for Eclipse

Click here for instructions on how to download and install the Google Plugin for Eclipse.

Google Plugin for Eclipse

The Google Plugin for Eclipse is a set of software development tools that enables Java developers to quickly design, build, optimize, and deploy cloud-based applications.
The Google Plugin for Eclipse allows you to easily create and deploy App Engine applications. For simplifying App Engine development, the Google Plugin for Eclipse provides the following:
The Google Plugin for Eclipse also assists developers in efficiently creating a rich user experience, generating high quality Ajax code using the Google Web Toolkit and effortlessly deploying applications to the App Engine.
The Google Plugin for Eclipse also lets you import an Apps Script project from Drive and edit it in Eclipse, with changes automatically saved back to Drive.
These powerful tools remove tedium and free developers to focus on creating great application logic. The Google Plugin for Eclipse is the first suite of integrated development tools designed specifically for Eclipse Java developers to create fast, reliable and high quality applications for the Google cloud.

2. Create New Web Application Project

In Eclipse toolbar, click on the Google icon, and select “New Web Application Project…
Figure – New Web Application Project
Choose new web application project
Figure – Deselect the “Google Web ToolKit“, and link your GAE Java SDK via the “configure SDK” link.
create new web application project
Click finished, Google Plugin for Eclipse will generate a sample project automatically.

3. Hello World

Review the generated project directory.
gae project directory
Nothing special, a standard Java web project structure.
HelloWorld/
  src/
    ...Java source code...
    META-INF/
      ...other configuration...
  war/
    ...JSPs, images, data files...
    WEB-INF/
      ...app configuration...
      lib/
        ...JARs for libraries...
      classes/
        ...compiled classes...
The extra is this file “appengine-web.xml“, Google App Engine need this to run and deploy the application.
File : appengine-web.xml
 version="1.0" encoding="utf-8"?>
 xmlns="http://appengine.google.com/ns/1.0">