• Scalatra


    SBT和giter8

    在你开始着手之前,你需要安装两个工具(我假设你已经安装了JDK1.6+)。我将给你提供简缩的安装指令,详细版的安装指令可通过 下面的scalatra页面找到( http://www.scalatra.org/getting-started/first-steps.html)。这种方法应该可以在大多数环境下运行,不过,对我自己来说,它不能运行......它下载了老版本的 giter8和老版本的sbt。为了获得sbt,我使用macport下载了最新版本: 

    port install sbt

    然后我也手工下载了giter8. 

    curl https://raw.github.com/n8han/conscript/master/setup.sh | sh
    cs n8han/giter8

    最后一个命令是安装g8到你的/bin目录下。我已经对这个版本的g8进行了下面测试:

    ~/bin/g8
     
    giter8 0.5.0
    Usage: g8 [TEMPLATE] [OPTION]...
    Apply specified template.
     
    OPTIONS
        -b, --branch
            Resolves a template within a given branch
        --paramname=paramvalue
            Set given parameter value and bypass interaction.
     
     
    Apply template and interactively fulfill parameters.
        g8 n8han/giter8
     
    Or
        g8 git://github.com/n8han/giter8.git
     
    Apply template from a remote branch
        g8 n8han/giter8 -b some-branch
     
    Apply template from a local repo
        g8 file://path/to/the/repo
     
    Apply given name parameter and use defaults for all others.
        g8 n8han/giter8 --name=template-test

    创建并初始化项目 

    在你的主目录里运行下面的命令创建你的项目:

    jos@Joss-MacBook-Pro.local:~/dev/scalatra/firststeps$ g8 scalatra/scalatra-sbt
    organization [com.example]: org.smartjava
    package [com.example.app]: org.smartjava.scalatra     
    name [scalatra-sbt-prototype]: hello-scalatra
    servlet_name [MyScalatraServlet]: HelloScalatraServlet
    scala_version [2.9.1]: 
    version [0.1.0-SNAPSHOT]:

    这步会在当前目录下创建hello-scalatra项目目录。

    ./build.sbt
    ./project
    ./project/build.properties
    ./project/plugins.sbt
    ./README.md
    ./src
    ./src/main
    ./src/main/resources
    ./src/main/resources/logback.xml
    ./src/main/scala
    ./src/main/scala/org
    ./src/main/scala/org/smartjava
    ./src/main/scala/org/smartjava/scalatra
    ./src/main/scala/org/smartjava/scalatra/HelloScalatraServlet.scala
    ./src/main/scala/Scalatra.scala
    ./src/main/webapp
    ./src/main/webapp/WEB-INF
    ./src/main/webapp/WEB-INF/layouts
    ./src/main/webapp/WEB-INF/layouts/default.scaml
    ./src/main/webapp/WEB-INF/views
    ./src/main/webapp/WEB-INF/views/hello-scalate.scaml
    ./src/main/webapp/WEB-INF/web.xml
    ./src/test
    ./src/test/scala
    ./src/test/scala/org
    ./src/test/scala/org/smartjava
    ./src/test/scala/org/smartjava/scalatra
    ./src/test/scala/org/smartjava/scalatra/HelloScalatraServletSpec.scala

    为了测试所有的一切是能工作的,到你的项目目录,通过‘container:start’这个命令,使用sbt启动你的项目。这会下载很多东西,完成之后会启动应用:

    jos@Joss-MacBook-Pro.local:~/dev/scalatra/firststeps/hello-scalatra$ sbt
    [info] Loading project definition from /Users/jos/Dev/scalatra/firststeps/hello-scalatra/project
    [info] Set current project to hello-scalatra (in build file:/Users/jos/Dev/scalatra/firststeps/hello-scalatra/)
    > container:start
    [info] jetty-8.1.5.v20120716
    [info] NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
    [info] started o.e.j.w.WebAppContext{/,[file:/Users/jos/Dev/scalatra/firststeps/hello-scalatra/src/main/webapp/]}
    [info] started o.e.j.w.WebAppContext{/,[file:/Users/jos/Dev/scalatra/firststeps/hello-scalatra/src/main/webapp/]}
    15:12:44.604 [pool-6-thread-4] INFO  o.scalatra.servlet.ScalatraListener - Initializing life cycle class: Scalatra
    [info] started o.e.j.w.WebAppContext{/,[file:/Users/jos/Dev/scalatra/firststeps/hello-scalatra/src/main/webapp/]}
    15:12:44.727 [pool-6-thread-4] INFO  o.f.s.servlet.ServletTemplateEngine - Scalate template engine using working directory: /var/folders/mc/vvzshptn22lg5zpp7fdccdzr0000gn/T/scalate-5609005579304140836-workdir
    [info] Started SelectChannelConnector@0.0.0.0:8080
    [success] Total time: 1 s, completed Sep 7, 2012 3:12:44 PM
    >
    [success] Total time: 1 s, completed Sep 7, 2012 3:10:05 PM

    为了测试是否所有的正确,打开你的浏览器访问 localhost:8080,你会看到下面的界面说明一切正确:

    Scalatra 教程(第一部分)

    导入到Eclipse里

    我通常使用Eclipse开发,因此在这种情况下,让我们确保我们可以在Eclipse里编辑源代码。为了这个目的,我们可以使用eclipse的sbt插件。添加这个插件是非常容易的。进入‘项目’文件夹,然后把下面的内容(在它之前由一个空行)增加到plugins.sbt文件里。

    addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0"

    当你下一步运行sbt的时候,你将看到正在下载的很多东西。从sbt里运行'eclipse',这时创建了eclipse的配置文件(.classpath和.project) 。现在启动Eclipse集成开发环境,然后你可以导入你刚才创建的项目(确保你也安装了eclipse的scala-ide)。Scalatra 教程(第一部分)

    现在我们启动容器,让sbt侦听我们资源的变化。

    $ sbt
    > container:start
    > ~ ;copy-resources;aux-compile

    在Eclipse里我们存储文件的任何时刻,sbt都将复制和重新编译资源。因此我们能直接在浏览器里看到已经更改的文件。打开文件HelloScalatraServlet,然后修改欢迎文本。如果你保存了这个文件,那么sbt将重新装载应用,而且你将直接看到已经更改了的文件。

    Scalatra 教程(第一部分)

     
  • 相关阅读:
    树形dp-CF-337D. Book of Evil
    (step5.1.2)hdu 2473(Junk-Mail Filter——并查集)
    8种排序算法--直接选择排序
    iPhone之为UIView设置阴影(CALayer的shadowColor,shadowOffset,shadowOpacity,shadowRadius,shadowPath属性)
    摄像头、麦克风、扬声器测试程序(附源码)
    HashMap的实现原理
    第三代搜索推出网民评价系统,seo末日还会远吗?
    SQL Server 深入解析索引存储(聚集索引)
    罗辑思维现象透析
    哥德巴赫猜想证明
  • 原文地址:https://www.cnblogs.com/rxingyue/p/4398899.html
Copyright © 2020-2023  润新知