Pregunta

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

http://localhost:8080/MyDynamicWebApp

Ahora quiero cambiar la URL de acceso a

http://localhost:8080/app

He cambiado la raíz de contexto del proyecto "Propiedades | Configuración del proyecto Web | Raíz de contexto".

Sin embargo, no está funcionando. La aplicación web todavía tiene la URL de acceso como antes. He vuelto a desplegar la aplicación en Tomcat, vuelva a empezar el Tomcat y he hecho todo lo que se debe hacer, pero la URL de acceso es el mismo que antes.

Me pareció que no había ningún archivo adjunto con server.xml el archivo WAR. Entonces, ¿cómo el Tomcat es la determinación de 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 la URL?

¿Fue útil?

Solución

Estoy seguro de que has seguido adelante por ahora, pero pensé respuesta de todos modos.

Algunas de estas respuestas dan soluciones. Lo que realmente debe suceder es que se limpia y volver a publicar su proyecto para "activar" la nueva URI. Esto se hace haciendo clic derecho en el servidor (en la vista Servidores) y la elección de Limpio. A continuación, se inicia (o reinicia). La mayoría de las otras respuestas aquí sugieren que haces cosas que, en efecto lograr esto.

El archivo que está cambiando es workspace/.metadata/.plugins/org.eclipse.wst.server.core/publish/publish.dat menos, es decir, usted tiene 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 si esto es la etiqueta adecuada o no -. Estoy editando esta respuesta para dar pasos exactos para Eclipse Indigo

  1. En su proyecto Propiedades , seleccione Web del Proyecto Configuración .

  2. Cambiar Raíz de contexto aplicación .

    captura de pantalla de propiedades del proyecto Eclipse Configuración del proyecto Web

  3. Seleccione Ventana> Mostrar vista> Servidores .

  4. Detener el servidor haciendo clic en el cuadro cuadrado rojo ( "Detener el servidor" información sobre herramientas) o hacer un clic contextual en el servidor de lista para elegir "Stop".

  5. En el servidor que desea utilizar, hacer un clic contextual para elegir "Clean ...".

    introducir descripción de la imagen aquí

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

    Captura de pantalla del cuadro de diálogo preguntando para actualizar la configuración del servidor para que coincida con la raíz nuevo contexto

Ahora se puede ejecutar su aplicación con el nuevo URL "aplicación", tales como:

  

http://localhost:8080/app/

Hacer esto fuera de Eclipse, en el servidor de producción, es aún más fácil -> Cambiar el nombre del archivo de la guerra. Exportación de su aplicación Vaadin como un archivo WAR ( Archivo> Exportar> Web> archivo WAR ). Mover el archivo WAR en contenedor de servlets de su servidor web como Tomcat. Cambiar el nombre del archivo WAR, en este caso a app.war . Al iniciar el contenedor de servlets, como Tomcat más se auto-despliegue de la aplicación, lo que incluye la ampliación del archivo de la guerra a una carpeta. En este caso, deberíamos ver una carpeta llamada aplicación . Usted debe ser bueno para ir. Prueba de su dirección URL. Para un dominio example.com como *" esto sería:

  

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

programadores Vaadin toolkit pueden tener que reconstruir su conjunto de widgets si se utiliza añadir complementos visuales.

Otros consejos

Después de cambiar la raíz de contexto en las propiedades del proyecto tiene que eliminar la aplicación web de Tomcat (usando Añadir y quitar ... en el menú contextual del servidor), vuelva a implementar, a continuación, volver a agregar su aplicación y volver a implementar. Se trabajó para mí.

Si recibe un golpe tiene otra opción: seleccione el servidor Tomcat en la vista Servidores. Al hacer doble clic en dicho servidor (o seleccionando Abrir en el menú contextual) trae un editor de varias páginas, donde hay una página Módulos. Aquí puede cambiar el contexto raíz de su módulo (denominado Camino en esta página).

Si está ejecutando Tomcat desde Eclipse, que no utiliza la configuración de su instalación real Tomcat. Utiliza la configuración de Tomcat que se crea y se almacena bajo el proyecto "Servidores". Si ve el espacio de trabajo de Eclipse, debería ver un proyecto llamado "Servidores". Ampliar ese proyecto "Servidores" y se llega a través server.xml. Abrir este archivo y desplazarse todo el camino hasta el fondo, y usted debería ver algo como esto: -

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

A continuación, sólo puede cambiar su ruta de contexto del proyecto a otra cosa.

Espero que esto ayude.

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

http://localhost:8080/Myapp a http://localhost:8080/somepath/Myapp

Pero Didnt trabajó para mí, ya que es necesario tener un archivo * .war que puede contener la configuración y no la instancia individual del servidor en mi localmachine.

Referencia

Con el fin de hacer que 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>

Configuración de la ruta de acceso a nada en el diálogo de edición de módulos web Eclipse me permitió acceder al proyecto sin ningún componente de la ruta en la URL (es decir RAÍZ)

Se puede llegar al diálogo de módulos web de edición pulsando F3 si selecciona Tomcat en la vista "Servidores" o haciendo doble clic sobre él.

Algunas capturas de pantalla:

Apache Tomcat mantiene la ruta de contexto del proyecto en camino server.xml. Para cada proyecto web en Eclipse, existe la etiqueta a partir de ahí se puede cambiar.
Supongamos, hay dos o tres proyectos desplegado en el servidor. Para cada ruta de un 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 ruta raíz contexto en el servidor es:

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

Esta ruta representa ruta de contexto de la aplicación web. Al cambiar este camino, su ruta de contexto de aplicación web va a cambiar.

Sé que la respuesta ha sido aceptado ya. Pero, por si alguien caso utilizando Maven quiere lograr lo mismo, acaba de establecer la finalName en el experto en construcción para el nombre que desea dar y hacer un experto -> proyecto de actualización

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

Si el proyecto es experto, cambie el "finalName" en pom.xml y Actualización del Proyecto como Maven.This trabajó para mí.

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

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

Así que cuando se hace clic en "Ejecutar como> Ejecutar en el servidor" se abrirá correctamente.

Sólo quería añadir que si usted no desea que su nombre de la aplicación en el contexto de la raíz en absoluto, y sólo hay que poner "/" (sin comillas, sólo la barra inclinada) en el Eclipse -> Ajustes del proyecto Web -> entrada raíz de contexto

Esto desplegará la aplicación de web sólo http: // localhost: 8080 /

Por supuesto, esto va a causar problemas con otras aplicaciones web intenta ejecutar en el servidor, por lo que con las cabezas para arriba.

Me llevó para siempre a la pieza que juntos ... así que a pesar de que este post es de 8 años de edad, es de esperar que esto sigue siendo ayudar a alguien!

En el proyecto java, carpeta .settings abiertas. no encuentra el archivo denominado "org.eclipse.wst.common.component". Cambio etiqueta .

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

Si se utiliza Eclipse para desplegar su aplicación. Podemos utilizar este plugin 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 del proyecto y abrir cmd en esa ubicación escriba este comando:

mvn Eclipse: Eclipse -Dwtpversion = 2,0

Es posible que tenga que reiniciar eclipse, o en vista de servidor del servidor eliminar y crear alquilásemos para ver afecta. Me pregunto este sentido el ejercicio tomamos en la vida real, pero funciona.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top