私は、ユーザーがいくつかのファイルをサーバーにアップロードできる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ファイルとは何も関係がありません。
誰かがこのエラーを取得するために間違っていることを教えてもらえますか?どのように修正できますか?
家の前にある先頭の '/'を削除してみてください。見つかった答えでは、与えられたパスはルート( 'C:\ ...')から始まります。絶対パスです。しかし、明らかに 'home'フォルダから始まる相対パスを使用します。 – IQV
@IQV、私は提案され、チェックされているように家の先導/ infrontを削除しました。しかし、結果は変わらなかった – Nilushan