2009-07-01 7 views
4

JBoss 4でうまく動作するWebアプリケーションを開発しましたが、Tomcat 6で動作させる必要がありますが、いくつかのプロパティファイルにアクセスできません。私が読んで、これらのファイルを読み取るために、次のコードを使用します。Tomcatのwebappからプロパティファイルを取得する際に問題が発生しました

InputStream is = Thread.currentThread().getContextClassLoader() 
       .getResourceAsStream(fileName); 
if (is == null) { 
    throw new StartupError("Error loading " + fileName); 
} 

properties.load(is); 

私が前に言ったように、それは、JBoss 4で正常に動作します。しかし、私はTomcatの中に私のアプリを展開するとき、それは割り当て、ファイルを見つけることができません。 nullが 'is'変数で、StartupErrorがスローされます。このファイルはWEB-INF/configディレクトリにあり、webappは戦争として展開されています。

この問題の解決方法を教えてください。

おかげで、 アレクサンドル

答えて

3

は、WEB-INF /クラスでプロパティファイルを置きます。

webappのJarファイルのいずれかのルートにそれらを含めるか、編集するのが難しくなります。これは、ビルドスクリプト内でプロパティを選択しているときに、それらを編集したくない場合に便利です。

+0

こんにちはJeeBee、 あなたの解決策は機能しました。しかし、JBossのWEB-INF/configの下のファイルにアクセスできた理由を知っていますか?それをTomcatで作成できませんでしたか? – Alexandre

+0

configフォルダはJBossのアイデアだと思いますが、Tomcatでも同様にサポートしたいと思います。 – JeeBee

0

私は、TomcatがWebアプリケーションのクラスパスにWEB-INF/configを追加しないと仮定します。

http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.htmlからWebappXは - クラスローダは、単一のTomcat 6インスタンスに配備された各Webアプリケーションのために作成されます。 Webアプリケーションアーカイブの/ WEB-INF/classesディレクトリにあるすべての展開されていないクラスとリソース、およびWebアプリケーションアーカイブの/ WEB-INF/libディレクトリにあるJARファイルのクラスとリソースは、しかし、他にはない。

関連する問題