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

Google App Engine上的Scala+Lift初試

原創
開發 后端
Google App Engine自從四月開始支持Java以來,吸引了很多Java平臺的開發者進來觀摩?;贘ava平臺的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-26 16:32:22

App Engine文檔存儲文檔搜索

2009-06-12 18:21:46

App Engine上

2013-07-30 12:29:19

Google App Google技術Engine

2009-04-09 08:54:07

App EnginegoogleJava

2011-09-06 14:53:01

Google App

2009-04-14 11:01:33

GoogleApp EngineGroovy

2009-04-09 09:53:43

GoogleAppEngineJava

2010-02-01 09:21:49

GroovyGoogle App Gaelyk

2009-08-11 11:23:41

什么是GAEGoogle App

2009-04-08 16:47:11

GoogleApp EngineJava

2009-05-22 14:52:33

App Engine免費配額

2009-09-10 10:11:44

Google App Java開發2.0

2012-08-01 14:12:45

IBMdW

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技術棧公眾號

主站蜘蛛池模板: 每日在线更新av | 99国内精品久久久久久久 | 欧美一级黄色免费 | 日朝毛片 | 国产午夜三级一区二区三 | 久久久久国产精品一区二区 | 国产成人精品一区二区三区 | 日本三级线观看 视频 | 久久无毛 | 欧美一区二区三区久久精品 | 91爱爱·com| 久久大全 | 亚洲欧美日韩国产综合 | 在线免费国产 | 久色| 国产在线观看免费 | 五月婷婷丁香 | 色婷婷激情 | 欧美 日韩 综合 | 精品日韩 | av网站在线播放 | 亚洲高清在线观看 | 91国内精品久久 | 成人深夜福利在线观看 | 欧美一区二区在线视频 | 成人三级网址 | 亚洲综合一区二区三区 | 亚洲一区二区三区免费在线观看 | 欧美精品一区二区免费视频 | 国产精品极品美女在线观看免费 | 成人免费在线视频 | 久久黄色| 中文字幕二区 | 日本字幕在线观看 | 久久久精品一区二区三区四季av | 最新中文字幕在线 | 亚洲精品天堂 | 中文字幕国产精品 | 国产精品日韩一区二区 | 91视频麻豆 | 精品真实国产乱文在线 |