Info

最近Scalaに興味を持つようになって、ちょっと勉強しようかと思ってherokuに hello world的なものを作ってみた。手順をメモ。
herokuに関しては割愛。

1. scala のインストール

$ brew search scala
scala      scalate
$ brew install scala
==> Downloading http://www.scala-lang.org/downloads/distrib/files/scala-2.9.1-1.tgz
・・・
$ scala -version
Scala code runner version 2.9.1-1 -- Copyright 2002-2011, LAMP/EPFL

2. sbt インストール

$ brew install sbt

3. scala on heroku
https://devcenter.heroku.com/articles/scala
ここに書いてある通りにやる。
と、とりあえずheroku上で 「Hello from Scala!」はできた。
しかし、rubyでもないしメモ帳でscala書くちょっとあれなんでeclipseに入れてみる。
そのまま入れるとsbtのbuild.sbtで定義した依存パッケージがeclipseのビルドパスに反映されない。

4. sbtelipseを入れる
~/.sbt/pluginsにplugin.sbtを作成

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.0.0")

5. eclipse設定
プロジェクトディレクトリまで行って

$ sbt
> eclipse

参照ライブラリに依存パッケージが反映される。

6. sbtでrunしてみる

$ sbt
$ run
[error] {file:/Users/dongriab/Dropbox/Developers/cloud/heroku/workspace/scalahub/}default-2648c8/compile:run: Nonzero exit code: 1
[error] Total time: 15 s, completed Jul 14, 2012 7:06:17 PM
> run
[info] Compiling 1 Scala source to /Users/dongriab/Dropbox/Developers/cloud/heroku/workspace/scalahub/target/scala-2.8.1/classes...
[error] java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
[error] Use 'last' for the full log.

OutOfMemoryErrorが発生。
sbt起動する時にjavaヒープサイズを1024mに設定して起動

$ env JAVA_OPTS="-Xmx1024m" sbt
> run
[info] Running Web debug
Starting on port:8080
Start

問題なく起動できた。
以上で、eclipseでscala, herokuの開発できるようなった。

追加:ソース編集してサーバー再起動しないと反映されない。デバッグ方法わかる方教えてください

Comments

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Basic HTML is allowed. Your email address will not be published.

Subscribe to this comment feed via RSS