2011年12月23日

在 STS 中整合 Grails 與 Scala

目前看到新發佈的 Grails v2.0.0,馬上就試著加到 STS (SpringSource Tool Suite)中;但心想 open source 界熱門話題的 Scala 剛推出 v2.0,也一併來用用看。
於是在一個練習的 grails project 安裝了 scala plugin (v0.6.4),接著在 src/scala 中寫了一個 .scala ;不過 run-app 時出現了 ...

[scalaPlugin] Compiling Scala sources to target/classes
 | Error Error executing script Compile:
 : Could not compile Scala sources: BuildException:
 Compile failed because of an internal compiler error (object scala not found.);
 see the error output for details. (Use --stacktrace to see the full trace)

而網路上已有了解決的方法(如下圖所示),顯然這不構成問題。






但試想:每每得先 grails compile 出 .class 才能做單元測試,試乎沒用到 IDE 中 scala builder 的好處。所以,我將這個 project 加上 builder:

 org.scala-ide.sdt.core.scalabuilder
 

與 nature :
org.scala-ide.sdt.core.scalanature
而此舉引發了兩個的問題:
IDE 會出現要求加入 scala library 的錯誤訊息。
但加了 lib 之後,則又引起了 grails builder 的編譯錯誤。 

所以,我改了方式: 保持這個 grails project 的原樣,另起一個 scala project;
而這個新 project 的 src 目錄以 link folder 的形式連接到 grails project 的 src/scala。 如下圖所示:




























這樣子就能寫 .scala 時做單元測試,而又不影響 grails project 的任何操作了。

沒有留言: