Cloud Foundry で Scalatra アプリを実行してみます。 Scalatra 自体については、ググってください。 :-P
- ~~sbtをインストール インストール方法は、Mac で Scala と Lift を使ってみる(1) インストール編に記載した通りです。 Linuxならばapt-getやyum等でインストールできるかもしれません。 Windowsはわかりませんw~~ 下記のgit cloneでsbtも取得できるので不要
-
sbtアプリ作成&テスト実行 Quick start (SBT 0.7.x)に書かれている方法を実行します。
$ git clone git://github.com/scalatra/scalatra-sbt-prototype.git my-app $ cd my-app $ ./sbt > update > jetty-run > ~prepare-webapp
で、あとは、http://localhost:8080/ へアクセスすれば、上記の様な画面が表示されると思います。
-
Cloud Foundryへpush
$ sbt package $ vmc push --path target/scala_2.8.1 Application Name: 好きなアプリケーション名を入力 Application Deployed URL: 'アプリケーション名.cloudfoundry.com'? Detected a Java Web Application, is this correct? [Yn]: Memory Reservation [Default:512M] (64M, 128M, 256M, 512M or 1G) Creating Application: OK Would you like to bind any services to '好きなアプリケーション名'? [yN]: Uploading Application: Checking for available resources: OK Processing resources: OK Packing application: OK Uploading (9K): OK Push Status: OK Staging Application: OK Starting Application: OK
とすれば、warファイルが作成され、Cloud Foundryへpushできますが、 1点注意点があります。デフォルトでは、scala-compiler.jarがwarファイルに含まれないらしく、 このwarファイルをvmc pushしても実行時にエラーとなります。 http://d.hatena.ne.jp/fits/20110521/1305942644 というわけで、以下の修正を加えた後、
$ git diff diff --git a/project/build/MyProject.scala b/project/build/MyProject.scala index 0b8e9e0..c5fc24a 100644 --- a/project/build/MyProject.scala +++ b/project/build/MyProject.scala @@ -15,6 +15,9 @@ class MyProject(info: ProjectInfo) extends DefaultWebProject(info) { // http://groups.google.com/group/simple-build-tool/msg/1f17b43807d06cda override def testClasspath = super.testClasspath +++ buildCompilerJar + // http://d.hatena.ne.jp/fits/20110521/1305942644 + override def webappClasspath = super.webappClasspath +++ buildCompilerJar + val sonatypeNexusSnapshots = "Sonatype Nexus Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots" // For Scalate val fuseSourceSnapshots = "FuseSource Snapshot Repository" at "http://repo.fusesource.com/nexus/content/repositories/snapshots" $ vmc push
します。
-
Cloud Foundryで動作確認 http://好きなアプリケーション名.cloudfoundry.com/へアクセスし、 「hello to Scalate」リンクをクリックして、以下の画面が表示されれば成功です。
Comments
comments powered by Disqus