成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Google App Engine上的Scala+Lift初試

原創
開發 后端
Google App Engine自從四月開始支持Java以來,吸引了很多Java平臺的開發者進來觀摩。基于Java平臺的Scala也可以在Google App Engine上運行,雖然目前還無法使用Actors,不過Scala Lift的配置本身仍是一次不錯的練習。

【51CTO精選譯文】昨天我試著在 Google App Engine for Java (GAE/J) 運行 Lift 程序。對于這兩者的設置,你可以從這幾個資源獲取許多相關的信息。不過,大多信息都是以前在 4 月份寫的(51CTO編者注:Google App Engine于今年四月開始支持Java),現在一些東西已經變化了,這些資料,我覺得對于我要運行的應用程序也沒有很好的幫助。我還知道一些演示程序,但它們很少提供文檔,解釋為什么能夠運行或不能。

所以,我想我應該寫一個短小的總結:我是如何在 GAE/J 上運行我的 Scala Lift 程序。

創建 Lift 程序

我學到的***教訓是 Lift 1.0 不能在 GAE/J 上工作。你可以部署一個 1.0 程序,但會出現有關 Actors 的 HTTP 500 錯誤。GAE/J 不支持線程,所有 Actors 理所當然無法工作。Lift 開發者不得不編寫一些代碼來讓這個框架變得兼容。因此,你必須使用一個 1.1 的版本。本文中,我使用的是 1.1-M4 版本。(有關Lift框架的一些背景,可參考51CTO之前發布的Scala Lift簡介。)

使用 Maven 創建一個 Lift 應用程序是很簡單的。關于如何生成一個應用程序模板,在 Lift: Getting Started 指南中,提供了很不錯的說明和描述。此外,你還可以按照指南設置你的 Maven 環境。不過,你不能使用那篇文章中介紹的 mvn archetype:generate 命令,因為 archetype 是用于 Lift 1.0 版本的。所以,我們需要修改一些參數,來獲得一個 1.1 版本的 archetyp。

使用以下命令生成一個 helloworld 程序:

  1. mvn archetype:generate -U \  
  2. -DarchetypeGroupId=net.liftweb \  
  3. -DarchetypeArtifactId=lift-archetype-blank \  
  4. -DarchetypeVersion=1.1-M4 \  
  5. -DremoteRepositories=http://scala-tools.org/repo-releases \  
  6. -DgroupId=demo.helloworld \  
  7. -DartifactId=helloworld \  
  8. -Dversion=1.0-SNAPSHOT 

就這么簡單,你已經創建了一個應用程序。通過下面的命令,你就啟動該程序:

  1. cd helloworld  
  2. mvn jetty:run 

在 Google App Engine 上運行 Lift 程序

為了在 Google 中部署你的程序,你需要一個GAE/J 帳號。一旦獲得了一個帳號,你需要注冊你的應用程序。對于這***程,Google 比我寫的說明更好。但是,要記住你選擇的 application-id,后面你將會用到。***,下載 GAE/J SDK。將 SDK 解壓縮到你的臨時目錄中。你可以試試下面的命令:

  1. unzip ~/Downloads/appengine-java-sdk-1.2.2.zip \  
  2. -d ~/tmp/appengine-java-sdk-1.2.2 

既然已經有了 SDK 安裝文件,你就可以配置你的Lift程序,以便在 GAE/J 上運行。這只需要一個步驟:

創建一個包含以下內容的文件:

  1. xml version="1.0" encoding="utf-8"?> 
  2. <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
  3. <application>application-idapplication> 
  4. <version>3version> 
  5. <system-properties> 
  6. <property name="in.gae.j" value="true" /> 
  7. system-properties> 
  8. <sessions-enabled>truesessions-enabled> 
  9. <static-files> 
  10. <exclude path="/**" /> 
  11. static-files> 
  12. appengine-web-app> 

將“application-id”替換為你注冊應用程序時選擇的 application-id。通過運行以下的命令,你可以使用Maven來完成:

  1. mvn package 

這樣就可以創建一個war文件和一個目錄,其中包含了war文件解壓后的內容。后者位于:

  1. $helloworld/target/helloworld-1.0-SNAPSHOT 

現在你可以使用下面的命令,在本地運行你的程序:

  1. ./tmp/appengine-java-sdk-1.2.2/bin/dev_appserver.sh \  
  2. helloworld/target/helloworld-1.0-SNAPSHOT 

檢查 http://localhost:8080 以前確保你的程序正確地運行,并且與你運行 mvn jetty:run 命令時是相同的。如果正確地運行,那么你在 GAE 上的部署工作已經準備好了。為此,請運行下面的命令:

  1. /tmp/appengine-java-sdk-1.2.2/bin/appcfg.sh update \  
  2. helloworld/target/helloworld-1.0-SNAPSHOT 

現在,你的程序已經準備好,可以運行了。你應該可以在http://application-id.appspot.com 處查看該程序。

為什么是 Google App Engine?

對于 Scala Lift程序,我很清楚GAE并不是一個最理想的平臺:對于我最喜歡的 Scala 語言的一項功能:Actors,你不能使用它。對于我來講,這個練習是一種非常棒的方式,做到了一石二鳥。一直以來,我都想學習如何使用 Lift 和 GAE/J。由于這兩者有點不兼容,對于其中任何一個,我學到的知識都比單獨學習其中之一都要多。這也算是一種增效作用,你覺得如何呢?

原文:Scala and Lift on Google App Engine by Joe

【編輯推薦】

  1. 什么是GAE:Google App Engine介紹
  2. 手把手教你在Google App Engine上運行PHP
  3. 開始您的***個Google App Engine應用
  4. Scala入門介紹:Hello World
  5. Scala編程語言
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2009-04-13 15:48:54

Google AppJavaSun

2009-04-16 09:59:16

Google App PHPJava

2009-06-12 18:21:46

App Engine上

2009-06-26 16:32:22

App Engine文檔存儲文檔搜索

2013-07-30 12:29:19

Google App Google技術Engine

2009-04-09 09:53:43

GoogleAppEngineJava

2009-04-09 08:54:07

App EnginegoogleJava

2011-09-06 14:53:01

Google App

2009-04-14 11:01:33

GoogleApp EngineGroovy

2010-02-01 09:21:49

GroovyGoogle App Gaelyk

2009-05-22 14:52:33

App Engine免費配額

2009-04-08 16:47:11

GoogleApp EngineJava

2009-08-11 11:23:41

什么是GAEGoogle App

2012-08-01 14:12:45

IBMdW

2009-09-10 10:11:44

Google App Java開發2.0

2011-04-15 17:43:15

Google App Google

2009-09-02 11:34:09

Google App

2011-09-15 10:29:13

架構

2009-10-16 09:08:59

App Engine

2009-02-16 09:11:42

Google App SDKGQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人小视频在线观看 | 在线视频一区二区三区 | 久久精品色欧美aⅴ一区二区 | 91精品久久久 | 日本精品久久久久久久 | 欧美在线视频一区二区 | 亚洲电影一区二区三区 | 正在播放国产精品 | 中文av在线播放 | 成人亚洲性情网站www在线观看 | 日本不卡一区二区三区在线观看 | www.888www看片 | av高清毛片 | 在线欧美视频 | 99在线视频观看 | 三级特黄特色视频 | 亚洲在线一区 | 精国产品一区二区三区四季综 | 天天操伊人 | 91精品国产自产精品男人的天堂 | 蜜臀网| 做a视频 | 久久不射电影网 | 成人免费精品视频 | 色婷婷国产精品综合在线观看 | 人人九九| 欧美性猛片aaaaaaa做受 | 韩国主播午夜大尺度福利 | 成人免费观看网站 | 亚洲狠狠 | 成人在线一级片 | 国产精品视屏 | 精品一区二区三区在线播放 | 国产成人精品高清久久 | 日韩视频在线一区二区 | 粉嫩一区二区三区性色av | 自拍偷拍视频网 | 欧美一级片黄色 | 美日韩一区二区 | 久久久精品综合 | 欧美bondage紧缚视频 |