Cómo desplegar un archivo war en Tomcat 7

346

He copiado el sample.wararchivo en el webappsdirectorio de Tomcat y puedo acceder localhost:8080.

Ahora, ¿cómo lo implementará Tomcat? Quiero decir, ¿debo abrirlo en el navegador? ¿Cómo puedo acceder a la aplicación?

nazar_art
fuente

Respuestas:

325

Puede acceder a su aplicación desde: http://localhost:8080/sample

La implementación o la reasignación de archivos de guerra es automática de forma predeterminada: después de copiar / sobrescribir el archivo sample.war, revise su webappscarpeta para ver si hay una carpeta extraída sample.

Si no se abre correctamente, revise los archivos de registro (por ejemplo, tomcat / logs / catalina.out) para ver si hay problemas con la implementación.

Bozho
fuente
77
¿Qué pasa si la GUERRA se llama "ROOT.war"? ¿Dónde puedo encontrar esa GUERRA?
Kevin Meredith
55
¿Qué sucede si quiero implementar mi sample.war en localhost: 8080 / somethingdifferent?
Koray Tugay
15
puede especificar eso en META-INF / context.xml
Bozho
55
El META-INF / context.xml, ¿es el que está en tomcat \ conf \ context.xml? ¿O debería estar en mi aplicación que estoy implementando?
Koray Tugay
2
Puede estar en ambos lugares. Prefiero que esté dentro de la aplicación
Bozho
89

paso 1. aquí estoy implementando pos.war Primero vaya a la carpeta tomcat webapps y péguelo

ingrese la descripción de la imagen aquí

paso 2. vaya a tomcat-> bin folder, inicie tomcat haciendo clic en startup.bat

paso 3. ir al navegador escribir localhost: puerto / nombre del proyecto, por ejemplo. localhost: 8080 / pos (aquí mi tomcat se ejecuta en el puerto 8080)

Hecho....

ingrese la descripción de la imagen aquí

Ferdous Wahid
fuente
¡Gracias! Además, necesitaba establecer permisos para mi estructura de directorio Tomcat recién instalada para poder extraer mi WAR y generar archivos de registro.
Anthony De Souza
59

Solo necesita poner su archivo war en webapps y luego iniciar su servidor.

Se desplegará.

de lo contrario, también puede usar Tomcat Manager un frente web para cargar e implementar su guerra de forma remota.

Jigar Joshi
fuente
1
Lamentablemente no funciona! ¿Te gustaría probar mi archivo de guerra específico? Descargue "linshare-core-1.8.4-without-SSO.war" de " forge.linshare.org/projects/linshare/files "
Dr.jacky
@ Mr.H sigue el registro cuando inicias el servidor después de hacer la guerra, descubrirás por qué no funciona
Jigar Joshi
1
"Si el atributo Host autoDeploy es" verdadero ", el Host intentará implementar y actualizar las aplicaciones web dinámicamente, según sea necesario, por ejemplo, si un nuevo .WAR se coloca en la base de aplicaciones. Para que esto funcione, el Host debe tener antecedentes procesamiento habilitado, que es la configuración predeterminada. "
haltunbay
50

Pasos manuales - Windows

  1. Copie el archivo .war (por ejemplo: prj.war) en %CATALINA_HOME%\webapps(Por ejemplo: C: \ tomcat \ webapps)

  2. correr %CATALINA_HOME%\bin\startup.bat

  3. Su archivo .war se extraerá automáticamente a una carpeta que tenga el mismo nombre (sin extensión) (por ejemplo: prj)

  4. Ve %CATALINA_HOME%\conf\server.xmly toma el puerto para el protocolo HTTP. <Connector port="8080" ... />. El valor predeterminado es 8080 .

  5. Acceda a la siguiente URL:

    [<protocol>://]localhost:<port>/folder/resourceName

    (Ej: localhost:8080/folder/resourceName)

No intente acceder a la URL sin el resourceNameporque no funcionará si no hay un archivo como index.html, o si no hay un patrón de URL como " /" o " /*" en web.xml .

Las rutas principales disponibles están aquí: [<protocol>://]localhost:<port>/manager/html(Ej .:) http://localhost:8080/manager/htmly se encuentran trueen la columna "En ejecución".


Usando el administrador de la interfaz de usuario:

  1. Ir a [<protocol>://]localhost:<port>/manager/html/(generalmente localhost:8080/manager/html/)

    Esto también se puede lograr desde [<protocol>://]localhost:<port>> Aplicación de administrador )

    Si lo consigues:

    403 Acceso denegado

    ve %CATALINA_HOME%\conf\tomcat-users.xmly comprueba que has habilitado una línea como esta:

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. En el Despliegue sección, archivo WAR con el inciso despliegue, haga clic en Examinar ... .

    Implementar exploración

  3. Seleccione el archivo .war (Ej: prj.war)> haga clic en Implementar .

  4. En la sección Aplicaciones , puede ver el nombre de su proyecto (por ejemplo: prj).
RUMANIA_ingeniero
fuente
20

Además de las formas ya mencionadas (soltar el archivo war directamente en el directorio webapps ), si tiene instalada la aplicación Tomcat Manager, también puede implementar archivos war a través del navegador. Para llegar al administrador, navegue hasta la raíz del servidor (en su caso, localhost: 8080), seleccione "Tomcat Manager" (en este punto, necesita saber el nombre de usuario y la contraseña para un usuario de Tomcat con "administrador" - rol, los usuarios se definen en tomcat-users.xml en la conf-directorio de la instalación tomcat). Desde la página inicial, desplácese hacia abajo hasta que vea la parte "Implementar" de la página, donde puede hacer clic en "examinar" para seleccionar un archivo WAR para implementar desde su máquina local. Después de seleccionar el archivo, haga clic en implementar. Después de un tiempo, el administrador debe informarle que la aplicación se ha implementado (y si todo salió bien, se inició).

Aquí hay un tutorial más extenso y otras instrucciones de las páginas de documentación de Tomcat 7.

esaj
fuente
44
El managerpapel en Tomcat 7 es ahora manager-gui. Me mordió este.
SpliFF
2
Dejar el archivo .war en webapps no me ha funcionado, y no había signos de error en los registros. Hacerlo desde el Tomcat Manager hizo el truco. No
tengo
15

Hay dos maneras:

  1. Puede realizar una implementación en caliente (la implementación en caliente significa la implementación cuando el servidor se está ejecutando / en marcha).
  2. O puede hacer una implementación en frío (la implementación en frío significa implementar cuando se detiene el servidor).

Simplemente use la consola del administrador de tomcat para la implementación de la consola o simplemente copie y pegue su aplicación en la carpeta webapp del directorio tomcat_home de su servidor.

Nota: Asegúrese de que si el tamaño de su archivo war es superior a 52 MB ( el valor de configuración predeterminado ), debe realizar dos pequeños cambios en el archivo web.xml de la aplicación Manager de su carpeta webapp (Apache tomcat proporciona la aplicación Manager de forma predeterminada al instalar el servidor).

  • Vaya al web.xml de la aplicación del administrador (por ejemplo, podría estar en /tomcat7/webapps/manager/WEB-INF/web.xml.

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>
    

    Aumente el tamaño poniendo los valores para <max-file-size>y de <max-request-size>acuerdo a sus requerimientos.

Shailesh Saxena
fuente
10

Esto ha estado funcionando para mí:

  1. Crea tu archivo de guerra (mysite.war) localmente.
  2. Cambie el nombre localmente a algo además de .war, como mysite.www
  3. Con Tomcat todavía ejecutándose, suba mysite.www al directorio webapps .
  4. Después de que termine de cargarse, elimine la versión anterior mysite.war
  5. Enumere el directorio y observe si el directorio / mysite desaparece.
  6. Cambie el nombre de mysite.www a mysite.war
  7. Enumere el directorio, esperando que se cree el nuevo / mysite.

Si intenta cargar el nuevo archivo como un archivo war, con Tomcat aún ejecutándose, intentará expandirlo antes de que esté todo allí. Fallará. Al haber fallado, no volverá a intentarlo. Por lo tanto, cargar un archivo www y luego renombrarlo permite que todo el archivo war esté presente antes de que tomcat lo note.

Sugerencia, no olvide comprobar que el propietario del archivo war es tomcat (Use chown)

Fred Myers
fuente
2
Si bien esto puede funcionar en casos excepcionales, no es un procedimiento válido de despliegue / implementación. mysite.www creará un nuevo contexto si autodeploy = "true" y al eliminar mysite.war se elimina el contexto de mysite en varias condiciones normales. La mejor referencia es la implementación de aplicaciones web de Tomcat .
user250343
4

Si instaló tomcat7 usando apt-getLinux, entonces implemente su aplicación en/var/lib/tomcat7/webapps/

p.ej.

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

Además, siga el registro de Tomcat para que pueda verificar que su aplicación realmente esté haciendo las paces con Tomcat.

tail -f /var/lib/tomcat7/logs/catalina.out

La aplicación desplegada debería aparecer en http://172.16.35.155:8080/manager/html

prayagupd
fuente
2

1.Genere un archivo war desde su aplicación
2. abra el administrador de tomcat, vaya a la página
3. Haga clic en Examinar para desplegar la guerra.
4. elige tu archivo de guerra. Ahí tienes!


fuente
2

Para implementar el archivo war sobre tomcat, siga los pasos a continuación:

  1. Detén el gato. powershell-> services.msc-> OK-> Apache Tomcat 8.5-> stop (en el lado izquierdo).

ingrese la descripción de la imagen aquí

  1. Coloque el archivo .war dentro de E: \ Tomcat_Installation \ webapps, es decir, la carpeta webapps, es decir, put.war (put.war es solo un ejemplo)

ingrese la descripción de la imagen aquí

  1. Después de iniciar el tomcat (para iniciar tomcat powershell-> services.msc-> OK-> Apache Tomcat 8.5-> start)

obtendrá una carpeta dentro de E: \ Tomcat_Installation \ webapps ** put **

ingrese la descripción de la imagen aquí

De esta manera, puede implementar su archivo war en Apache Tomcat.

Deepak Bhavale
fuente
1

Realice los siguientes pasos:

  • Detener el gato
  • Haga clic derecho en Proyecto y haga clic en "Limpiar y construir"
  • Vaya al directorio de su proyecto y dentro de la carpeta Dist obtendrá un archivo de guerra que copiará en su tomcat
  • Carpeta webApp
  • Inicia el gato
  • Extracción automática de archivos de guerra y ejecuta tu proyecto
Plaes
fuente
1

Seguí las instrucciones en el siguiente enlace, me funciona. http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. Detener a Tomcat

  2. Eliminar todos los registros en tomcat / logs y todos los archivos en tomcat / conf / Catalina / localhost

  3. Elimine el archivo war y el directorio que creó (si lo hizo) de tomact / webapps

  4. Iniciar Tomcat

  5. Mientras observa los registros, copie nuevamente el archivo war al directorio webapps

Después de esto, vigile catalina.xxxx-xx-xx.log para descubrir el problema.

elin
fuente
1
Este no es un procedimiento válido de despliegue / despliegue, ya que interfiere con los archivos administrados exclusivamente por Tomcat. La mejor referencia es la implementación de aplicaciones web de Tomcat
usuario250343 del