• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Tomcatのpropertiesファイルの読み込みについて)

Tomcatのpropertiesファイルの読み込みについて

このQ&Aのポイント
  • Tomcatのpropertiesファイルの読み込みについて解説します。Tomcat4.1でWEB-INF/classes/resource/a.propertiesというリソースファイルを読み込む方法について説明します。開発環境でうまくいかない場合の解決策も紹介します。
  • Tomcatのpropertiesファイルの読み込みについて詳しく説明します。WEB-INF/classes/resource/a.propertiesというリソースファイルをTomcat4.1で読み込む方法や、開発環境での問題点と解決策についても解説します。
  • Tomcatのpropertiesファイルの読み込みに関する問題について質問しています。Tomcat4.1でのWEB-INF/classes/resource/a.propertiesファイルの読み込み方法がうまくいかない場合の対処方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#18558
noname#18558
回答No.3

ごめんなさい。 <a.class>.getClassLoader().getResourceAsStream("resource/a.properties"); でやってみてください。 その際、a.classはWEB-INF/classesにあるクラスを指定して下さい。

matttsu
質問者

お礼

自己解決しました。 やはりWEB-INF/classesにクラスパスを設定するとうまくいきました。ただそうするとサーブレットクラスなどのパスも今まで設定しなくてもよかったのをservlet.jarなどを設定する必要がになりました。 サーバもこの設定をしてるようです。一般的なやり方かはよくわからないのですが・・。 ちなみにgetResourceAsStreamを使っているa.classは外部jarのライブラリにあるので変更できませんでした。 お騒がせしましたが参考になりました。ありがとうございます。

その他の回答 (2)

noname#18558
noname#18558
回答No.2

a.classは、どこに配置してあるのでしょうか? WEB-INF/classes配下にありますか? ほかに、Tomcatのshared/libやcommon/libにないですか?

noname#18558
noname#18558
回答No.1

Class#getResourceAsStreamの呼び出しのパスの先頭に"/"がついてる場合は、絶対パスになります。 classesから読み込みたいのであれば、"/"をはずしてみてください。 <a.class>.getResourceAsStream("resource/a.properties");

matttsu
質問者

補足

回答ありがとうございました。 しかしはずして見ましたが駄目でした。 やはりクラスパスの問題でしょうか? サーバと同じソースということを考えると違うのはやはりTomcatの設定ということになるんですが・・。 サーバを設定したのが自分ではないので相違点がうまく見つけられません・・・。

関連するQ&A