웹 응용 프로그램의 context.xml에서 docBase 속성에 대한 상대 경로를 설정하는 방법이 있습니까?이 경로가 tomcat 서버 인스턴스의 appBase 디렉토리 밖에 있습니까?Context.xml의 상대 경로
컴퓨터간에 컨텍스트 구성을 공유하고 응용 프로그램을 war 파일이 아닌 디렉토리에 보관하고 싶습니다. 그런 식으로 클래스를 프로젝트 개발 디렉토리의 해당 디렉토리에 직접 컴파일하고 tomcat이 복사/패키징이 필요없이이 클래스를 사용할 수 있습니다.
나는 tomcat 8.0.0-RC5를 사용하고 있습니다. 내 디렉토리 레이아웃은 다음과 같습니다 나는
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/frontend" docBase="../../frontend/web-content">
</Context>
을 시도했지만 그 작동하지 않았다
/home/david/projects/frontend/web-content <-- the static html files
/home/david/projects/frontend/web-content/WEB-INF <-- the WEB-INF with the web.xml
/home/david/projects/tomcat <-- tomcat base directory
/home/david/projects/tomcat/Catalina/localhost <-- holds the frontend.xml context configuration
./web-content 앞의 전체 경로는 무시 된 것 같습니다. 로그는 말한다 : 상황에 맞는 컨테이너
The main resource set specified [/home/david/projects/tomcat/webapps/web-content] is not valid
는 말한다 :
이
당신은이 디렉토리 나 WAR 파일의 절대 경로 이름, 또는의 appBase 디렉토리에 상대적인 경로 이름을 지정할 수 있습니다 호스트를 소유하고 있습니다.
여기서 상대적으로 appBase (no .. allowed)의 엄격한 하위 디렉토리를 의미합니까?
절대 경로 설정은 문제없이 작동합니다. 구성
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/frontend" docBase="/home/david/projects/frontend/web-content">
</Context>
작동하지만 내 컴퓨터에만 해당됩니다. 따라서 더 이상 수정하지 않고 컨텍스트 구성을 공유 할 수는 없습니다.
tomcat 서버의 appBase 디렉토리에 심볼릭 링크를 만들고 응용 프로그램의 웹 콘텐츠 폴더를 가리킬 수 있습니다. 이것은 작동하지만, 리눅스와 윈도우 머신에서는 서로 다른 설정 (심볼릭 링크)을 가졌을 것이다.
정확하게'appBase'가 server.xml에 어떻게 설정되어 있습니까? – david
server.xml에서 호스트 구성을 변경하지 않았으므로 여전히 기본값입니다. –
david