GAE 平台的 java 应用介绍

背景

最近有门 Web services 的课程,需要做 Peer Lecture,我分到的题目是 “Web service in app engine”.
这个题目就是大概介绍一下 google app engine 的使用了。本文选择以 Java 作为开发语言,对平台的使用作简单介绍。
记得第一次接触 GAE 还是还几年前大家都用 goagent 翻墙的时候。不过现在 Google 好像也只提供两个月的免费试用。
言归正传,本机开发环境如下:

  • Linux (openSUSE 42.1)
  • Oracle JDK 1.8 (使用的 openJDK 请替换)

使用命令行的操作步骤

准备工作

注册 google 账号,然后注册 google clound platform.

下载并安装 Google App Engine SDK for Java

(这个时候如果想要使用 IDE 特别是 Eclipse 部署应用的,直接跳转到下一节:使用 IDE


下载并安装(解压,配置环境变量)最新版 Apache Maven

创建项目并部署

  1. 下载例程 Java sample code,并解压
  2. 构建例程

    $ cd appengine-try-java-master //之后一直在此目录下
    $ mvn clean install

  3. Google Cloud Platform Console 或者这里 创建一个项目,每个项目有一个唯一的项目 ID (下文出现的 Project-ID 替换为你自己的项目 ID).

  4. 部署到 App Engine:
    1. 编辑 src/main/webapp/WEB-INF/appengine-web.xml, 将元素 application 的值修改为 Project-ID,version 的值为 1 .
    2. $ mvn appengine:update
      (或 $ appcfg.sh -A Project-ID update target/appengine-try-java-1.0)
  5. 访问 Project-ID.appspot.com, 即可看到部署的项目。

本地运行

$ mvn appengine:devserver
服务器运行在 http://localhost:8080/ 上。

本地调试

1
2
3
4
$ mvn appengine:devserver_start // 启动服务器
(修改源程序)
$ mvn install // 重新构建程序,刷新页面即可看见修改。
$ mvn appengine:devserver_stop // 必须使用这条命令来停止服务

提交到 App Engine

1
$ mvn appengine:update

使用 IDE

对于 IDE 的使用,Google 官方提供了 Google Plugin for Eclipse.
今天使用 netbeans 测试,安装好插件后,本地运行的时候总是失败,找不到原因,遂放弃。想要尝试的话可以参考这篇文章
对于使用 Eclipse 步骤,可以参考这篇文章,还是相对容易的,本文未做测试。

后记

此次实验主要参考了这两个官方的文档:页面A, 页面B. 这两篇都是在命令行下部署的指导,但却还不太一样,虽然基本了解了如何部署,但还是有些许困惑。
另外考虑到国内的网络环境,要用 GAE 还是挺费力的。上文中基于命令行的部署过程,经测试没有问题,仅供参考。