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]

macportsをファイアウォール越しに使う

macportsをファイアウォールがあるようなところから利用しようとしてもrsyncをしにいくので利用できない。というときにはここにある手順でsvnを利用する形に変える。まず、Macportsをインストールしたら、

$ cd /opt/local/var/macports/sources
$ sudo mkdir -p svn.macports.org/trunk/dports
$ sudo cd svn.macports.org/trunk/dports
$ sudo svn co https://svn.macports.org/repository/macports/trunk/dports/ .

とする。場合によっては、svnはhttp://〜の方を利用したほうが良いかもしれない。私が試した時には証明書がエラーになるのでhttpにした。
そして、/opt/local/etc/macports/sources.confを編集する。

#rsync://rsync.macports.org/release/ports/ [default]
file:///opt/local/var/macports/sources/svn.macports.org/trunk/dports/ [default]

そんでもって、

$ sudo port -d sync

で作業完了。