在Jelastic上使用Scala编程

Scala是一个运行在JVM上的编程语言,可以很好地与各种运行和监控工具配合使用,也可以与Java或其他编程语言配合使用。Scala借鉴了很多其他语言里面简单、易读的语法。它的优势在于通过各种特性让开发者更有效率地工作。开发者通常认为Scala比起Java更偏向于函数式编程语言。实际上,它是一种混合面向对象和函数式的编程语言。像Scala这样的语言会吸引来自高技术团队里的更灵活、高水平和具有创新精神的开发者。接下来让我们开看如何在云应用里使用这门灵活的语言吧!

译注:Jelastic是一个Java和PHP的云应用托管。

建立环境

1. 登录Jelastic,点击创建环境按钮

2. 在Jelastic中建立你的环境,比如 Tomcat 7和 Java 7

创建应用

1. 首先在你的操作系统上安装sbt这是一个Scala和Java项目的构建工具。

2. 现在让我们创建一个用于测试的简单Scala servlet应用程序。Helloworld.scala (src/main/scala/helloworld.scala)文件内容如下:

import javax.servlet.http._

class HelloWorldServlet extends HttpServlet {
                override def doGet(req: HttpServletRequest, resp: HttpServletResponse) = {
                resp.getWriter().print("Hello World!")
                }
}

3. 在src/main/webapp 目录为你的项目新建 web.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>

<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

构建和部署项目

Xsbt-web-plugin

1. 为WAR文件构建添加特殊插件,添加xsbt-web-pluginproject/plugins.sbt:

addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "0.3.0")

2. 在项目的根目录创建build.sbt 文件。指定应用的名字、版本号、Scala版本和注入的插件配置:

name := "helloworld"

version := "1.0"

scalaVersion := "2.9.2"

seq(webSettings :_*)

libraryDependencies ++= Seq(
 "javax.servlet" % "servlet-api" % "2.5",
 "org.mortbay.jetty" % "jetty" % "6.1.22" % "container"
)

3. 在根目录创建一个 build.properties文件并指定sbt版本,这样可以避免任何潜在的冲突:

sbt.version=0.12.4

4. 从你的根目录执行下一个命令,构建WAR文件:

>compile:package-war

刚生成的WAR文件会存在target/scala-x.x.x目录。

5. 回到Jelastic配置面板,将你的WAR包上传到部署管理器。

6. 将你的Scala应用程序部署到刚建立好的环境下。

Sbt-jelastic-deploy插件

1.为你的项目添加针对Jelastic的插件,以便进一步地部署。 Sbt-jelastic-deploy插件 依赖于xsbt-web-plugin和部署的WAR文件,这些文件由xsbt-web-plugin生成到Jelastic环境。通过在你的plugins.sbt (project/plugins.sbt) 文件中指定适当的配置启用sbt-jelastic-deploy。

addSbtPlugin("com.github.casualjim" % "sbt-jelastic-deploy"

2. 浏览到你的项目根目录并新建build.sbt文件指定你的应用名称、版本号、Scala版本以及 Jelastic插件的Key值。

import JelasticKeys._

name := "helloworld"

version := "1.0"

scalaVersion := "2.9.2"

seq(webSettings :_*)

libraryDependencies ++= Seq(
 "javax.servlet" % "servlet-api" % "2.5",
 "org.mortbay.jetty" % "jetty" % "6.1.22" % "container"
)

seq(jelasticSettings:_*)

email in deploy := "your_email_address"

password in deploy := "your_jelastic_password"

apiHoster := "your_hoster's_api"

environment in deploy := "your_jelastic_environment_name"

context in deploy := "context_for_your_app"

Note:  Blank lines are required in order to separate each item.

3. 在helloworld目录创建build.properties并指定sbt版本避免潜在的冲突:

1 sbt.version=0.12.4

4. 使用上传任务建立一个WAR文件并上传到Jelastic部署管理器以便下一步的部署。使用部署任务建立一个WAR文件,上传并部署到指定的环境和上下文。

<em>&gt;sbt upload</em>
<em>&gt;sbt deploy</em>

瞧!这就是你的Scala云应用!

本文通过一个简单的示例说明如何开始。你可以使用上面提到的插件来建立自己的WAR包并部署到你的环境。

原文链接: dzone 翻译: ImportNew.com - 唐尤华
译文链接: http://www.importnew.com/5482.html
[ 转载请保留原文出处、译者和译文链接。]

关于作者: 唐尤华

我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其实我是一个程序员。(新浪微博:@唐尤华

查看唐尤华的更多文章 >>



相关文章

发表评论

Comment form

(*) 表示必填项

还没有评论。

跳到底部
返回顶部