GebのWebDriverにPhantomJSを使う

GebでヘッドレスなWebDriverというとHtmlUnitが挙げられますが、JavaScriptのサポートが非常に弱かったり、余計なログを出しまくったりと正直かなり残念な感じです。

FirefoxやChromeを使えばよいのですが、PhantomJSをWebDriverとして使えるようにしたGhost Driverを見つけたのでGebから使ってみたいと思います。

Groovyのマップベースコンストラクターについて

マップベースコンストラクターを使っていて気になったことがあったので書きます。

Grailsのロギング実装をLog4jからLogbackに変更する

Grailsではロギング実装としてLog4jが採用されていますが、
Log4jはもう古いし後継のLogbackを使いたくなったりしますよね?

Logback Pluginを使うことでロギング実装をLog4jからLogbackに変更できます。

プラグインのページの説明通り設定すれば簡単にできるだろうと思っていたのですが、
ハマりポイントがあったのでそれも含めて書いていきます。

OS XにおけるJavaアプリケーションのエンコーディング

前記事の続きです。

結論から言うと、IntelliJ IDEA(やEclipse)にも環境変数LANGを渡すことができれば、Java 7における開発で日本語の扱いに問題が出なくなります。_JAVA_OPTIONSJAVA_TOOL_OPTIONSは不要です。

Javaのシステムプロパティの設定と文字エンコーディングについて改めて見直してみた

先日社内で環境変数_JAVA_OPTIONSを使っていると、javaコマンドの実行時にPicked up _JAVA_OPTIONS: ...が標準エラー出力に吐かれるため、アプリケーションがエラー判定してコケてしまうという話題が上がりました。

私自身はPicked up ...が出力されるのがイヤだったので、元々_JAVA_OPTIONSを設定しておらず、代わりにJAVA_OPTSを使っていました。

でも、JAVA_OPTSはJava系のアプリケーションが慣習的に用意しているだけで、javaコマンドにアプリケーションが渡してくれているというだけでした。

javaコマンドに何を渡したいかというと、-Dfile.encoding=UTF-8を渡したいという人がほとんどだと思います。

そこでこの機会にJavaのシステムプロパティの設定と文字コードがどういう動きをするのか整理してみました。