きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

見苦しいクラスパスの通り方

何回も首をかしげてしまった。


binとclassesがある。


いちおうはclassesに出力してるようだ。


.projectを見ると、./propertiesもkind=srcだ。


./properties/log4j.xmlとか。


binフォルダでjavaコマンドを、-jar付きで動かす際に、
doctypeのところにsystemで書かれてるlog4j.dtdがないと怒られるんだってさ。


変なファイルパスを探してしまうらしい。
log4j.xmlの同一ディレクトリにdtdがあることを期待している動きをする。


log4j.xmlをsrc直下に置けばいいものを。


log4j.xmlがjarの中に入るのが嫌ならば、
少し強引だろうけど、

  • Xbootclasspath/a:ディレクトリ

でクラスパスを通すとか。
たぶん-classpathでも出来ると思う。
出来なかったのは僕の指定方法が間違ってるだと思う。


やり方は考えれば見つかると思う。


まあ、面倒だから、同一ディレクトリにdtd置いて、
動きさえすればいいやと言うならば、
もともと問題にすることもなかったじゃないか。