- - PR -
JARファイルにしたときエラー発生
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-10-21 10:20
Mac OSx & Eclipse 3.2 & Tomcat 5.1の環境です。
JARにする前に File f = new File("/com/hoge/hoge.properties"); InputStream is = new FileInputStream(f); としてプロパティーファイルを読めるようにしたのですが、プロパティーファイルとJavaファイルをそのままJARにしてTomcatに入れて使うと「指定されたhoge.propertiesファイルが見つかりません」等のエラーがでます。JARにする前の環境では問題ありません。 クラスファイルとプロパティーファイルを同じJARに入れそれをWARにして別サーバーで使いたいのですが、何か良い解決策がありましたらお願い致します。 |
|
投稿日時: 2006-10-21 10:31
jarになるとアーカイブされてFileではなくなってしまうので…
ClassLoader.getResourceAsStream()でリソースを読み込むストリームを取得して Properties.load()でプロパティファイルを読み込みましょう。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/ClassLoader.html#getResourceAsStream(java.lang.String) http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Properties.html#load(java.io.InputStream) |
|
投稿日時: 2006-10-21 10:38
早速の返信、ありがとうございます。これで解決できます。しかし一つ疑問が残ります。同じ名前のファイルがJARファイル内に複数ある場合等の対処の方法があるのでしょうか?ご存知でしたお願い致します。
|
|
投稿日時: 2006-10-21 10:48
ClassLoader#getResourcesを使うと、URLを含むEnumerationが戻ります。
URLで判断した後、URL#openStreamでInputStreamが取得できますよ。 |
|
投稿日時: 2006-10-21 11:25
ありがとうございます。納得いきました。これでできると思います。お世話になりました。
|
1