m_yamamo04172009-07-12

お世話になっております。

先日、自分のライブラリを使ってもらう記事を書きましたが、今回は自分が使う側の話です。

協力会社に作って頂いたライブラリは、設定ファイルによって動作を変えられるようになっていました。
それはいいことだと思うのですが、設定を外に出すと、何らかの方法でそのファイルがどこにあるかを教えなければいけません。
そのことを質問したところ、「CLASSPATHの通っているフォルダに置けばいいですよ」という返事でした。
しかし、ソースに書いてあることと食い違っていた*1ので、設定を変えて動かしてみたのですが、やはり設定が反映されていない様子。
その後、「対応しました」というバイナリを頂いたのですが、それもまだ動いていません。

設定を外だしにするのはいいことですが、設定ファイルが見つからなかったり、パラメータが間違っていたりした場合の対応をきちんとするのは大変です。
社内のベテランのプログラムでさえ、設定ファイルが壊れていると謎のNullPointerExceptionを投げて私を苦しめます。
Java標準で設定ファイルを使用しているクラスに、Loggerクラスがあります。私としてはこの方式*2を真似てみようと思っています。

以上

*1:ClassLoader.getResourceAsStreamを使用していた

*2:Javaシステムプロパティに設定ファイル名を持たせる、ドット記号による階層構造など