2017-04-10 7 views
0

私は、ユーザーがいくつかのファイルをサーバーにアップロードできるJava Webアプリケーションを構築しています。 .warファイルは異なるファイルシステム階層を持つサーバーにデプロイできるので、.propertiesファイルを提供し、サーバー管理者に最初のシステム構成時にこれらのファイルを保存する場所を定義させたい。私のアプリケーションはこの.propertiesファイルを読んで、アップロードされたファイルをどこに保存するかを決定します。java .war外の.propertiesファイルを読み込もうとするとエラーが発生する

私はこれを行う方法を探している間、私はスタックオーバーフローで同様の質問に出くわして、次の答えを与える指示に従おうとしました。
https://stackoverflow.com/a/8941774

このソリューションが機能するかどうか試したかったです。 だから私は、私が家/ nilushan/TEMP /にyourfile.propertiesという名前のファイルを作成し、また私の/usr/share/tomcat8/conf/context.xmlファイルを編集し<Context> </Context>タグ

<Environment name="config" value="/home/nilushan/temp/" 
    type="java.lang.String" override="false"/> 

の間で以下のことを含ま指定されたJavaコードをコピーして実行します。

しかし、「jndi lookupの例外」メッセージが表示され続けました。例外を出力するようにコードを変更した後、これは私が
"jndiルックアップで例外:javax.naming.NameNotFoundException:Name [config]がこのコンテキストにバインドされていません。

エラーメッセージから、これはcontext.xmlファイルにあるものを読み取ることができず、yourfile.propertiesファイルとは何も関係がありません。

誰かがこのエラーを取得するために間違っていることを教えてもらえますか?どのように修正できますか?

+0

家の前にある先頭の '/'を削除してみてください。見つかった答えでは、与えられたパスはルート( 'C:\ ...')から始まります。絶対パスです。しかし、明らかに 'home'フォルダから始まる相対パスを使用します。 – IQV

+0

@IQV、私は提案され、チェックされているように家の先導/ infrontを削除しました。しかし、結果は変わらなかった – Nilushan

答えて

0

問題の良い解決策は、設定サーバーを使用することです。それを設定すると、プロパティファイルから設定を取得するようにプロパティファイルを指示できます。セットアップが非常に簡単です。ドキュメントへのリンクです(非常に短いので、非常に速く理解する必要があります)link。他のwar/jarファイルにも使用できます。

関連する問題