Javaのプロパティファイルでのエスケープ

Javaのプロパティファイルでは、

  • \ → \\
  • ‘ → ”
  • { → ‘{‘
  • } → ‘}’

という感じでエスケープする必要がある。まぁ、これはこれでよくて、でも、Strutsで上記でエスケープしてもうまくいかず、ハマった…。原因は、strtus-config.xmlで定義していたリソースバンドルで上記のエスケープをやろうとしていたところに問題があって、そこでやりたいなら、

<message-resources parameter="application"
factory="org.seasar.struts.util.S2PropertyMessageResourcesFactory">
<set-property property="escape" value="false"/>
</message-resources>

という感じでエスケープをfalseにしてあげる必要がある。

JRubyをビルドしてインストール

ここからダウンロードしてJRubyをインストールしてみる。ソースからビルドをする感じ。事前に最新のantを取得してパスを通しておく。

$ wget http://jruby.org.s3.amazonaws.com/downloads/1.7.2/jruby-src-1.7.2.tar.gz
$ tar zxvf jruby-src-1.7.2.tar.gz
$ cd jruby-1.7.2/
$ ant
$ ./bin/jruby -v
jruby 1.7.2 (1.9.3p327) 2013-01-22 fffffff on Java HotSpot(TM) 64-Bit Server VM 1.7.0_03-b04 [linux-amd64]

Unsupported IClasspathEntry kind=4

Eclipseでm2eが
Unsupported IClasspathEntry kind=4
みたいな感じで怒られる場合がある。こうなると Maven > Update Project.. とかも機能しなくなる。こんなときは

  • Maven natureを一度無効にする
  • mvn eclipse:cleanを実行する
  • Maven natureを有効にする

とすると動くようになる。どうやら.classpathとかのvarの問題らしい。時間がないので詳しくは見れていない…。