背景
最近有门 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
创建项目并部署
- 下载例程 Java sample code,并解压
构建例程
$ cd appengine-try-java-master //之后一直在此目录下
$ mvn clean install在 Google Cloud Platform Console 或者这里 创建一个项目,每个项目有一个唯一的项目 ID (下文出现的 Project-ID 替换为你自己的项目 ID).
- 部署到 App Engine:
- 编辑
src/main/webapp/WEB-INF/appengine-web.xml
, 将元素application
的值修改为 Project-ID,version
的值为1
. $ mvn appengine:update
(或$ appcfg.sh -A Project-ID update target/appengine-try-java-1.0
)
- 编辑
- 访问
Project-ID.appspot.com
, 即可看到部署的项目。
本地运行
$ mvn appengine:devserver
服务器运行在 http://localhost:8080/
上。
本地调试
1 | $ mvn appengine:devserver_start // 启动服务器 |
提交到 App Engine
1 | $ mvn appengine:update |
使用 IDE
对于 IDE 的使用,Google 官方提供了 Google Plugin for Eclipse.
今天使用 netbeans 测试,安装好插件后,本地运行的时候总是失败,找不到原因,遂放弃。想要尝试的话可以参考这篇文章。
对于使用 Eclipse 步骤,可以参考这篇文章,还是相对容易的,本文未做测试。
后记
此次实验主要参考了这两个官方的文档:页面A, 页面B. 这两篇都是在命令行下部署的指导,但却还不太一样,虽然基本了解了如何部署,但还是有些许困惑。
另外考虑到国内的网络环境,要用 GAE 还是挺费力的。上文中基于命令行的部署过程,经测试没有问题,仅供参考。