2010-11-24 27 views
7

Uso Tomcat 6.0 y Eclipse 3.0 en Linux e intento implementar WAR en Tomcat. El problema es que Eclipse administra el servidor y tengo implementado algún proyecto de Eclipse. He intentado modificar el archivo server.xml de Tomcat a continuación, poner en marcha a través de Eclipse, pero no funciona:Implementación de WAR en Tomcat/Eclipse

No se pudo cargar la configuración del servidor Tomcat en/Servidores/Tomcat v6.0 servidor en localhost-config. La configuración puede estar corrupta o incompleta.

Intenté extraer la guerra en el directorio webapps, pero todavía no puedo acceder a la aplicación web.

¿Cuál es la mejor práctica para desplegar una Guerra?

Respuesta

5

Tomcat se comporta de manera diferente en el modo de desarrollo y producción. Cuando desarrolle su aplicación web en Eclipse, no hay ninguna razón para desplegar un archivo WAR de su aplicación como WAR durante el desarrollo.

Simplemente acceda a la vista de "servidores" y agregue un nuevo servidor (ya debería haberlo hecho de lo contrario no podría crear su proyecto de Web dinámica). En la vista del servidor, debería ver el servidor que creó (Tomcat en localhost o algo similar) simplemente haga clic con el botón derecho y vaya a la sección Agregar y quitar. Aquí puede agregar y eliminar los proyectos de Web dinámica que creó en Eclipse. Una vez que haya agregado su proyecto, todo lo que tiene que hacer es hacer clic en el botón verde de inicio en la vista de servidores y su aplicación debe estar disponible en localhost:8080/mycontext.

Cuando termine de construir su aplicación simplemente haga clic en el proyecto y vaya a la sección Exportar en el menú. Debería poder exportar un archivo WAR. Una vez que tenga su archivo WAR, puede cargarlo e implementarlo en una instancia de Tomcat que NO esté vinculada a Eclipse ejecutándose en modo dev.

+5

Ok. así que no puedo desplegar un WAR en un Tomcat en modo dev. ¡Qué pena! –

+0

@lgu: Tal vez puedas explicar el motivo por el que quieres hacer eso. – Luke

+2

Porque he creado una aplicación que proporciona una API JSON consumida por mi "aplicación de eclipse". Me encuentro con una excepción de dominio cruzado ejecutando las aplicaciones en diferentes servidores y no puedo usar jsonp. La solución es usar un proxy local (nginx ...) pero eso es un poco exagerado IMO –

7

Sí, de alguna manera, puede desplegar una guerra en el modo dev.

Tengo el mismo problema.

Tengo un proyecto de webapp de Eclipse, que Eclipse implementa en una instancia de Tomcat ejecutada por Eclipse, por lo que puedo editar en caliente el proyecto.

Este proyecto web necesita utilizar recursos publicados por otra aplicación web que se debe ejecutar dentro de la misma instancia de Tomcat. La otra aplicación web es un proyecto completado por otra persona, por lo que ya está en forma de guerra.

Necesitaba Archivo-> Importar la guerra como un proyecto de Eclipse y dejar que Eclipse lo implemente en la misma instancia de Eclipse, para ejecutarlo en la misma instancia de Tomcat en la que también se ejecuta mi aplicación web.

El problema es que algunas guerras funcionan de esta manera, pero otras no, mientras que todas funcionan perfectamente bien en un Tomcat autónomo (iniciado por startup.sh). No puedo entender por qué.

+0

¿Cómo se importa una Guerra como proyecto? – pmartin8

0

Esto es antiguo, pero es una de las primeras respuestas en la búsqueda de Google.

puede importar el archivo de la guerra:

archivo

un archivo Web (WAR) es una aplicación web empaquetado portátil que se pueden importar en su espacio de trabajo.

Antes de importar un archivo WAR, , primero debe determinar si el archivo WAR contiene los archivos necesarios Java ™ source .Al importar un archivo WAR en un proyecto web existente, los archivos del descriptor de despliegue web importado no se cambian o sobrescriben por los incluidos en el archivo WAR importado, de acuerdo con su respuesta al mensaje que se proporciona. En cualquier caso, esta acción hace que no represente una combinación de los dos conjuntos de descriptores de despliegue.

para importar el recursos del proyecto Web en un archivo WAR en su espacio de trabajo, realice los siguientes pasos :

  1. Seleccionar archivo de importación > .
  2. En el cuadro de diálogo Importar, seleccione el archivo WAR y , luego haga clic en Siguiente.
  3. Localice el archivo WAR que desea importar utilizando el botón Examinar.
  4. El asistente supone que desea crear un nuevo proyecto web con el mismo nombre que el archivo WAR. Si acepta esta opción, el proyecto será creado con la misma versión de servlet especificada por el archivo WAR y en el en la misma ubicación. Si desea anular esta configuración, puede hacer clic en Nuevo y para especificar su nueva configuración en el asistente de Dynamic Web Project.
  5. Haga clic en Finalizar para rellenar el proyecto Web .

Fuente: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwimpwar.html