Skip to content
Java framework for Google App Engine
Java JavaScript
Pull request Compare This branch is 1 commit ahead, 24 commits behind taylorleese:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Getting Started Guide

jappstart is a Java framework for Google App Engine built on Spring, Spring Security, and Sitemesh. The project aims to be the starting point for Google App Engine Java applications. It's not a framework in the traditional sense -- rather it is designed to provide a solid foundation for GAE/Java applications that can be easily extended by developers.

Configure Property Files

Configure the following properties in,, and


  • See Sending Mail for details regarding e-mail address restrictions.
  • JSAPI keys can be obtained here.

Configure Settings

Create a settings.xml and a settings-security.xml in your local .m2 folder. See Maven - Password Encryption for instructions on how to encrypt your GAE password.

<!-- settings.xml -->
<settings xmlns=""

      <id></id> <!-- this should match the property and is the GAE application id -->
      <username></username> <!-- GAE username -->
      <password>encryptedpass</password> <!-- Encrypted GAE password -->

<!-- settings-security.xml -->
  <master>masterpass</master> <!-- Encrypted master password -->


  • Run mvn clean package -P local to create a new local build
  • Run mvn gae:run -P local to run locally
  • Run mvn gae:stop -P local to stop the local jetty server
  • Run mvn clean package -P dev to create a new dev build
  • Run mvn gae:deploy -P dev to deploy to your dev app engine app
  • Run mvn clean package -P prod to create a new prod build
  • Run mvn gae:deploy -P prod to deploy to your prod app engine app


To demonstrate the localization functionality just append the following to any url:

/some/url?locale=en_US or /some/url?locale=tl_PH. 

To support additional locales just create a new and set the new locale via:


JRebel Usage

  • Install the JRebel Nightly Build.
  • Define a REBEL_HOME environment variable
  • Run mvn clean compile -P local to create a new local build
  • Run mvn gae:run -P local-jrebel to run locally with JRebel support

Remote API/Bulk Loader Usage

Below is an example of how to use the bulk loader to copy all data from the production server to the local development server. Omit the "--kind" option to dump/restore all kinds. See this for more info.

Backup: download_data --application=<app-id> --kind=UserAccount --url=https://<app-id> --filename=backup.dat

Restore: upload_data --application=<app-id> --kind=UserAccount --url=http://localhost:8080/remote_api --filename=backup.dat

Google Plugin for Eclipse Usage

See the Google App Engine Blog.


Copyright (C) 2010 Taylor Leese

This file is part of jappstart.

jappstart is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

jappstart is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with jappstart. If not, see

Something went wrong with that request. Please try again.