Tomcat - 画像ディレクトリへのシンボリックリンクで画像が表示されない

Tomcat - 画像ディレクトリへのシンボリックリンクで画像が表示されない

Ubuntu 9.04 上の Tomcat 6 に Java Web アプリをデプロイしています。特定のイメージについては、別のイメージ ディレクトリへのシンボリック リンクを作成したいと考えています。これにより、アプリケーションが削除されて再デプロイされた場合でも、サーバー上に残っているイメージを参照できるようになります。

アプリケーションは/var/lib/tomcat6/webapps/ROOT/ディレクトリにデプロイされ、imagesディレクトリは war 内に存在します。アプリケーションをデプロイすると、ディレクトリへのシンボリック リンクが作成されsaved_images、 のようなパスが存在します/var/lib/tomcat6/webapps/ROOT/images/saved_images/

アプリケーションには次のコードがあります。

File file = new File("/var/lib/tomcat6/webapps/ROOT/images/saved_images/abc.jpg");
boolean fileExists = file.exists();

コードが実行されると値fileExistsは true になりますが、 のように参照されるとページに画像が表示されませんimages/saved_images/abc.jpg

/var/lib/tomcat6/webapps/ROOT/imagesと内の画像の権限は/var/lib/tomcat6/webapps/ROOT/images/saved_images同じです (所有者とグループは tomcat6 で、これは war にデプロイされた他のファイルと同じです)。sym リンクを削除し、 saved_images ファイルを同じ名前のディレクトリに配置すると、画像が表示されます。ディレクトリが sym リンクの場合、ファイルを実際のディレクトリにコピーせずに、ページにこれらの画像を表示するにはどうすればよいですか?

答え1

ファイルに次の内容を追加してみましたかcontext.xml?

<Context path="/foobar" allowLinking="true">

関連情報