Netbeans6.9でScala for Mac
前回の記事(Scalaのインストールとかpluginとか(Mac OS X 10.6) - magicpulse)の続きになるかも。
EmacsのScala-modeでかりかり書いてたのだけど、少しずつ大きなコードになってきたからNetbeans使おうと思ったらいろいろ問題が出たのでメモ。
実行…できない?
Netbeansを起動させて、とりあえずScalaプロジェクトを作って動かしてみると、いきなり意味不明のエラーが。
You must set SCALA_HOME or environment property and append "-J-Dscala.home=scalahomepath" property to the end of "netbeans_default_options" in NetBeansInstallationPath/etc/netbeans.conf to point to Scala installation directory.
環境変数にパス通せってことかな?
Scala plugins for Netbeans6.9のWikiを見に行ってみると
のどちらかをやればいいようです。
SCALA_HOMEを設定してみた
が、環境変数の設定の仕方が本当に意味不明なことが書いてあって私にはまったくよくわからない。
- ~/.Mac_OS_X/environment.plist というファイルを作って(フォルダがない場合は作る)以下のように書く。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>SCALA_HOME</key> <string>full/path/of/your/scala/home</string> <key>PATH</key> <string>/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/full/path/of/your/scala/home/bin</string> </dict> </plist>
-
- さっきのNetbeansのページからいけるMacOSXEnvForApp-Netbeansに載っているコード。
- そしてログインし直す
ええ、と思いながらもやってみました。
だが同じエラーが出るorz
やり方が合ってないのか? 申し訳ないです、全然よくわかりません。いつもの方法(.bashrcとか.bash_profileとか)で環境変数を設定してみてもダメ。。。echoしたら出てたんだけどな。bashとは関係ないっていうこと? 私がおそらく環境変数の何たるかをちゃんと理解してないのでしょうが。うーん。
netbeans.confをいじる
そんなわけでOrの後をやることに。
netbeansInstall/etc/..ってあるけどそれどこよ?
私の場合は/Applications/NetBeans/NetBeans 6.9.1.app/Contents/Resources/NetBeans/etcでした。
SCALA_HOMEの場所
が、また違うエラーが出ました私の場合。(ほとんどの人は上記の設定でいいはず)
[taskdef] Could not load definitions from resource scala/tools/ant/antlib.xml. It could not be found. /scalala/scalala-read-only/scalala/build.xml:36: Problem: failed to create task or type scalac Cause: The name is undefined. Action: Check the spelling. Action: Check that any custom tasks/types have been declared. Action: Check that any/ declarations have taken place.
scalacが見つからない???
SCALA_HOMEの場所が違っていたようです…
私は上記SCALA_HOME(もしくはnetbeans.confのscala/home)を設定するときに、コマンドのscalaがある場所を指定していました。私の場合はMacportsでいれたのでつまり
/opt/local/bin/scala
とか書いていたのだけど、これが間違いで、buildするときのxml読んでたら、SCALA_HOMEの下のフォルダのlib/scala-compiler.jarとか呼んでる…。思わずlocate scala-compilerとかしたら、私の場合は
/opt/local/share/scala-2.8/lib/scala-compiler.jar
に存在していました。なので、正しいSCALA_HOMEは
/opt/local/share/scala-2.8
これで無事に動いた!