Ubuntu 9.04의 Tomcat 6에 Java 웹 앱을 배포했습니다. 특정 이미지의 경우 다른 이미지 디렉터리에 대한 심볼릭 링크를 만들고 싶습니다. 이를 통해 애플리케이션을 제거하고 다시 배포하더라도 서버에 남아 있는 이미지를 참조할 수 있습니다.
애플리케이션은 /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에 배포된 다른 파일과 동일합니다). 기호 링크를 제거하고 save_images 파일을 같은 이름의 디렉터리에 넣으면 이미지가 표시됩니다. 파일을 실제 디렉토리에 복사할 필요 없이 디렉토리가 심볼릭 링크일 때 페이지에 이러한 이미지가 표시되도록 하려면 어떻게 해야 합니까?
답변1
파일 에 다음을 추가해 보셨나요 context.xml
?
<Context path="/foobar" allowLinking="true">