Czy istnieje sposób ustawienia względnej ścieżki do atrybutu docBase w pliku context.xml aplikacji sieci Web, więc znajduje się poza katalogiem appBase instancji serwera tomcat?Ścieżka względna w pliku Context.xml
Chciałbym móc współdzielić konfigurację kontekstu między komputerami i mieć aplikację w katalogu, a nie w pliku wojennym. W ten sposób mogę skompilować klasy bezpośrednio do tego katalogu (w moim katalogu rozwoju projektu) i mieć tomcat używać tych klas bez potrzeby kopiowania/pakowania.
Używam tomcat 8.0.0-RC5. Moja Układ katalogu jest:
/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
Próbowałem
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/frontend" docBase="../../frontend/web-content">
</Context>
ale to nie działa. Cała ścieżka przed/treść internetowa wydaje się być ignorowana. Dziennik pisze:
The main resource set specified [/home/david/projects/tomcat/webapps/web-content] is not valid
Tomcat 8 documentation do pojemnika kontekstowego mówi:
Możesz określić bezwzględną ścieżkę do tego katalogu lub wojny pliku lub ścieżkę, która jest w stosunku do katalogu appBase z właścicielem hosta.
Czy względny tutaj oznacza ścisły podkatalog appBase (bez ..)?
Ustawienie bezwzględnej ścieżki działa bez problemów. Konfiguracja działa, ale jest specyficzna dla mojego komputera. Więc nie mogę już udostępniać konfiguracji kontekstu bez modyfikacji.
Mogłem utworzyć dowiązanie symboliczne wewnątrz katalogu appBase serwera tomcat i pozwolić mu wskazać folder z zawartością mojej aplikacji. To by działało, ale miałbym różne konfiguracje (dowiązania symboliczne) na maszynach linuksowych i Windows.
Jak dokładnie ustawiony jest "appBase" w pliku server.xml? – david
Nie zmieniłem konfiguracji Hosta w pliku server.xml, więc nadal jest to wartość domyślna: –
david