Tomcat - Symbolischer Link zum Bildverzeichnis zeigt keine Bilder an

Tomcat - Symbolischer Link zum Bildverzeichnis zeigt keine Bilder an

Ich habe eine Java-Webanwendung auf Tomcat 6 unter Ubuntu 9.04 bereitgestellt. Für bestimmte Bilder möchte ich einen symbolischen Link zu einem anderen Bildverzeichnis erstellen. Dadurch kann ich auf Bilder verweisen, die auf dem Server verbleiben, auch wenn die Anwendung entfernt und neu bereitgestellt wird.

Die Anwendung wird im /var/lib/tomcat6/webapps/ROOT/Verzeichnis bereitgestellt und das imagesVerzeichnis existiert im Krieg. Wenn ich die Anwendung bereitstelle, erstelle ich einen symbolischen Link zum saved_imagesVerzeichnis, sodass ein Pfad wie dieser vorhanden ist /var/lib/tomcat6/webapps/ROOT/images/saved_images/.

In der Anwendung habe ich den folgenden Code:

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

Der fileExistsWert ist „true“, wenn der Code ausgeführt wird, aber die Bilder werden nicht auf der Seite angezeigt, wenn auf sie wie verwiesen wird images/saved_images/abc.jpg.

Die Berechtigungen der Bilder in /var/lib/tomcat6/webapps/ROOT/imagesund /var/lib/tomcat6/webapps/ROOT/images/saved_imagessind gleich (der Besitzer und die Gruppe sind tomcat6, was dasselbe ist wie bei den anderen im Krieg bereitgestellten Dateien). Wenn ich den Symlink entferne und die saved_images-Dateien in ein Verzeichnis mit demselben Namen lege, werden die Bilder angezeigt. Wie kann ich die Seite dazu bringen, diese Bilder anzuzeigen, wenn das Verzeichnis ein Symlink ist, ohne die Dateien in ein echtes Verzeichnis kopieren zu müssen?

Antwort1

Haben Sie versucht, Ihrer Datei Folgendes hinzuzufügen context.xml?

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

verwandte Informationen