name deploy context change application eclipse java-ee applicationcontext contextroot

deploy - ¿Cómo cambiar la raíz de contexto de un proyecto web dinámico en Eclipse?



web.xml context root (12)

He desarrollado un proyecto web dinámico en Eclipse. Ahora puedo acceder a él a través de mi navegador usando la siguiente URL:

http://localhost:8080/MyDynamicWebApp

Ahora quiero cambiar la URL de acceso a

http://localhost:8080/app

Cambié la raíz de contexto del proyecto "Propiedades | Configuración del proyecto web | Raíz de contexto".

Pero no está funcionando. La aplicación web todavía tiene la URL de acceso como antes. He vuelto a implementar la aplicación en Tomcat, reinicié Tomcat y he hecho todo lo que se debe hacer, pero la URL de acceso es la misma que antes.

Encontré que no había ningún archivo server.xml adjunto con el archivo WAR . Entonces, ¿cómo determina el Tomcat que la raíz de contexto de mi aplicación web es /MyDynamicWebApp y me permite acceder a la aplicación a través de esa URL?


Apache tomcat mantiene la ruta de contexto del proyecto en la ruta server.xml. Para cada proyecto web en Eclipse, hay una etiqueta desde allí que puede cambiarlo.
Supongamos que hay dos o tres proyectos desplegados en el servidor. Para cada ruta de contexto se almacena en. Esta etiqueta se encuentra en el archivo server.xml dentro del Servidor creado en eclipse.

Tengo un proyecto para allí en la ruta raíz de contexto en el servidor es:

<Context docBase="Test" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:Test1"/>

Esta ruta representa la ruta de contexto de su aplicación web. Al cambiar esta ruta, la ruta de contexto de la aplicación web cambiará.


Después de cambiar la raíz de contexto en las propiedades del proyecto, debe eliminar su aplicación web de Tomcat (usando Agregar y Quitar ... en el menú contextual del servidor), volver a implementar, luego volver a agregar su aplicación y volver a implementar. Funcionó para mí.

Si está sorprendido, tiene otra opción: seleccione el servidor Tomcat en la vista Servidores. Al hacer doble clic en ese servidor (o al seleccionar Abrir en el menú contextual) aparece un editor de varias páginas donde hay una página de Módulos. Aquí puede cambiar el contexto raíz de su módulo (llamado Ruta en esta página).


En Glassfish también debe cambiar el archivo WEB-INF / glassfish-web.xml

<glassfish-web-app> <context-root>/myapp</context-root> </glassfish-web-app>

Por lo tanto, cuando haga clic en "Ejecutar como> Ejecutar en servidor" se abrirá correctamente.


En el proyecto java, abra la carpeta .settings. localice el archivo llamado "org.eclipse.wst.common.component". Cambie la etiqueta <wb-module deploy-name = "NEW_NAME">.

También es posible que desee cambiar la raíz de contexto en las propiedades del proyecto


Establecer la ruta a nada en el cuadro de diálogo de edición de módulos web de Eclipse me permitió acceder al proyecto sin ningún componente de ruta en la URL (es decir, ROOT)

Puede acceder al cuadro de diálogo de edición de módulos web presionando F3 si selecciona Tomcat en la vista "Servidores" o haciendo doble clic en él.

Algunas capturas de pantalla:


Estoy seguro de que ya te has movido, pero pensé que respondería de todos modos.

Algunas de estas respuestas ofrecen soluciones alternativas. Lo que realmente debe suceder es que limpie y vuelva a publicar su proyecto para "activar" el nuevo URI. Esto se hace haciendo clic derecho en su servidor (en la vista Servidores) y seleccionando Limpiar. Entonces empiezas (o lo reinicias). La mayoría de las otras respuestas aquí sugieren que haga cosas que efectivamente lo logren.

El archivo que está cambiando es el espacio de trabajo / .metadata / .plugins / org.eclipse.wst.server.core / publish / publish.dat a menos que, es decir, tenga más de un servidor en su espacio de trabajo, en cuyo caso será publishN.dat en ese mismo camino.

Espero que esto ayude a alguien.

No estoy seguro de si esta es la etiqueta adecuada o no. Estoy editando esta respuesta para dar los pasos exactos para Eclipse Indigo.

  1. En las propiedades de su proyecto, elija "Configuración del proyecto web".

  2. Cambiar "raíz de contexto" a "aplicación".

  3. Seleccione Ventana> Mostrar vista> Servidores.

  4. Para detener el servidor, haga clic en el cuadro cuadrado rojo (información sobre herramientas "Detener el servidor") o haga clic contextual en la lista del servidor para elegir "Detener".

  5. En el servidor que desea utilizar, haga clic en el contexto para elegir "Limpiar ...".

  6. Haga clic en Aceptar en este cuadro de diálogo de confirmación.

Ahora puede ejecutar su aplicación con la nueva URL de "aplicación", como:

http://localhost:8080/app/

Hacer esto fuera de Eclipse, en su servidor de producción, es aún más fácil -> Renombrar el archivo war. Exporte su aplicación Vaadin como un archivo WAR (Archivo> Exportar> Web> Archivo WAR). Mueva el archivo WAR al contenedor de servlets de su servidor web, como Tomcat. Cambie el nombre de su archivo WAR, en este caso a "app.war". Cuando inicias el contenedor de servlets, la mayoría, como Tomcat, implementará automáticamente la aplicación, lo que incluye expandir el archivo war a una carpeta. En este caso, deberíamos ver una carpeta llamada "app". Usted debe ser bueno para ir. Prueba tu URL. Para un dominio como "example.com" esto sería:

http://www.example.com/app/

Los programadores del kit de herramientas de Vaadin pueden necesitar reconstruir su conjunto de widgets si usan complementos visuales.


Probé la solución sugerida por Russ Bateman Aquí en el post

http://localhost:8080/Myapp to http://localhost:8080/somepath/Myapp

Pero no funcionó para mí porque necesitaba tener un archivo * .war que pueda contener la configuración y no la instancia individual del servidor en mi máquina local.

Reference

Para hacer eso necesito jboss-web.xml colocado en WEB-INF

<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2008 Object Computing, Inc. All rights reserved. --> <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd"> <jboss-web> <context-root>somepath/Myapp</context-root> </jboss-web>


Sé que la respuesta ya ha sido aceptada. Pero, en caso de que alguien que use Maven quiera lograr lo mismo, simplemente establezca el FinalName en la compilación de maven con el nombre que quiera dar y realice un proyecto de actualización de maven -

<build> <finalName><any-name></finalName> <plugins><provide-plugins-needed></plugins> <build>


Si el proyecto es maven, cambie el "finalName" en pom.xml y Update Project como Maven. Esto funcionó para mí.


Si está ejecutando Tomcat desde Eclipse, no usa la configuración de su instalación real de Tomcat. Utiliza la configuración de Tomcat que creó y almacenó en el proyecto "Servidores". Si ve su área de trabajo de Eclipse, debería ver un proyecto llamado "Servidores". Expanda ese proyecto de "Servidores" y se encontrará con server.xml. Abra este archivo y desplácese hasta el final, y debería ver algo como esto:

<Context docBase="abc" path="/abc" reloadable="true" source="org.eclipse.jst.jee.server:abc"/>

Aquí, solo puede cambiar la ruta de contexto de su proyecto a otra cosa.

Espero que esto ayude.


Si usas eclipse para desplegar tu aplicación. Podemos utilizar este plugin de maven.

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <version>2.10</version> <configuration> <wtpversion>2.0</wtpversion> <wtpContextName>newContextroot</wtpContextName> </configuration> </plugin>

ahora vaya a la carpeta raíz de su proyecto y abra el indicador de cmd en esa ubicación escriba este comando:

mvn eclipse: eclipse -Dwtpversion = 2.0

Es posible que deba reiniciar eclipse, o en la vista del servidor, eliminar el servidor y crear una nueva para ver el efecto. Me pregunto si este ejercicio tiene sentido en la vida real pero funciona.


Solo quería agregar que si no quiere que el nombre de su aplicación se encuentre en el contexto raíz, solo tiene que poner "/" (sin comillas, solo la barra inclinada) en Eclipse -> Configuración del proyecto web -> Entrada de la raíz de contexto

Eso desplegará la aplicación web a solo http://localhost:8080/

Por supuesto, esto causará problemas con otras aplicaciones web que intente ejecutar en el servidor, por lo que se anticipa a eso.

Me tomé un tiempo para juntar eso ... así que a pesar de que esta publicación tiene 8 años, ¡espero que esto todavía ayude a alguien!