Implementar la aplicación en el host costumbre de Tomcat
Pregunta
Tengo algunos problemas para desplegar mi aplicación.
Medio ambiente:. Ubuntu 10.04, Tomcat 7,02 (Instalar desde archivo desde el sitio Tomcat, no desde los repositorios), el servidor se ejecuta y stoped manualy, no utilizando cualquier IDE
En la primera he creado huésped en $CATALINA_HOME/conf/server.xml
:
<Host name="java.dev"
appBase="/home/krasilich/java/"
autoDeploy="true" >
<Alias>www.java.dev</Alias>
</Host>
A continuación, crear un contexto en el $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
:
<Context docBase="siloc/web/" />
Y tiene el error
A docBase / home / krasilich / java / Siloc / web / interior del huésped AppBase se ha especificado, y será ignorado
Pero, si copio manager.xml a $CATALINA_HOME/conf/Catalina/java.dev/
puedo correr aplicación de administrador.
Si despliego mi solicitud a través del administrador - que dice que todo va bien, pero todavía ver el 404 en java.dev:8080/siloc /
Eso es todo acerca de host personalizado.
He tratado de implementar la aplicación a través del administrador en el servidor local también y funciona, puedo ver a mi "palabra de saludo" en localhost: 8080 / Siloc /
Pero, si cambio el texto en mi index.jsp que va no se ve afectado en la interfaz. El botón "Volver a implementar" no es ayuda para mí.
Como ya he mencionado gestor de sólo copiar archivos de la aplicación en el directorio webapps, y no se realiza ningún cambio en los archivos de configuración.
Todo lo que necesito que pueda desplegar su aplicación en cualquier directorio en mi sistema de archivos (en realidad será /home/krasilich/java/
).
Y sería grande si yo puedo hacer esto en el host personalizado como java.dev
Necesito la respuesta, ¿por qué el contexto en el $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
no está funcionando para mí, y lo que he de hacer para que sea consistente?
Gracias.
Solución
he sido capaz de replicar su problema.
Hay 2 Solución alternativa que puedo sugerir después de juguetear un poco con combinaciones de appBase
y docBase
. Parece que los dos no funcionan juntos.
Opción 1 - Quitar AppBase
Eliminar el appBase
de server.xml
y especificar la ruta completa a la aplicación web en docBase
en el $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
Asumo que su valor será /home/krasilich/java/siloc/web/siloc
.
Nota: se puede especificar sólo hasta el /home/krasilich/java/siloc/web/
carpeta principal le mostrará una lista de directorios de la carpeta madre
Opción 2 - Quitar docBase
En $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
quitar el docBase
y mantener sólo <Context/>
Tomcat infiere el nombre webapp siloc
del $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml
y busca la aplicación de web siloc
nombrado en el AppBase.
Esto permite a java.dev:8080/siloc/ trabajo proporcionó también cambia la appBase
en server.xml
a la carpeta principal de su siloc
aplicación web.
En respuesta a por qué funciona, manager
misma razón - no hay docBase en el manager.xml
Estoy intentando otras combinaciones de docBase pero cualquier valor Doy la lanza
ADVERTENCIA: Un docBase ... dentro del huésped AppBase se ha especificado, y será ignorado
Así que mi conclusión es eliminar el docBase. Esto no es una buena idea -. Ya que la ruta completa de la carpeta principal está codificada a continuación en server.xml