Hemos cambiado recientemente a Glassfish 3.1.2.2 y tienen varios Web-Aplicaciones empaquetadas como la guerra de los archivos. A veces el contexto deseado-root para estas aplicaciones difiere del nombre de archivo.

De la espalda cuando se utilizó Weblogic lo logramos declarar el contexto de la raíz en el weblogic.xml como este

<context-root>path/to/our/App</context-root>

Nos dimos cuenta de que la misma Etiqueta que existe en el glassfish-web.xml. Pero no importa lo que definimos allí, el servidor siempre determina el nombre de archivo como el contexto de la raíz.

Ahora nos encontramos con la opción –contextroot en el asadmin utilidad que nos iba a permitir sobrescribir el nombre del archivo en el momento de la implementación, pero preferimos a definir directamente en el archivo de modo que quien se va a implementar en la final no necesita saber el deseado contex-raíz.

Hay alguna forma de lograr esto?

OriginalEl autor Markus | 2013-04-25

2 Comentarios

  1. 4

    Normalmente esto debería funcionar con un glassfish-web.xml de esta apariencia:

    <!DOCTYPE glassfish-web-app PUBLIC 
        "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN"
        "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
    <glassfish-web-app>
        <context-root>/path/to/App</context-root>
    </glassfish-web-app>

    Pero aquí parece que necesita un archivo llamado sun-web.xml para su tarea.

    Aquí está un ejemplo:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sun-web-app PUBLIC 
         "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN"   
         "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
    <sun-web-app error-url="">
        <context-root>/path/to/our/App</context-root>
    </sun-web-app>
    Que extraño (y algo vergonzoso) tenemos que el conjunto de etiquetas (aunque en glassfish-web.xml dado que el archivo ha sido cambiado de nombre en GF 3.1), pero sin darnos cuenta se nos pasó por encima en nuestro maven config donde el nombre del archivo, fue explícitamente pasa como al contexto de la raíz, la invalidación de la definición en el glassfish-web.xml. Usted es, por supuesto, correcto 🙂
    No funcionó para mí con glassfish 3.1.2.2 usando java ee guerra de implementación, incluso si he configurado tanto en el glassfish-web.xml y sun-web.xml así. Sólo tha asadmin implementar parámetro –contextroot=/ ayudado. Pero yo estoy deseando encontrar el derecho configurtion para este tema.
    Hice algunas más experimentos y finalmente la solución fue modificar el glassfish-web.xml sólo. Si añado el contexto de la raíz parámetro sólo para el glassfish-web.xml y no la sun-web.xml el resultado fue el esperado.

    OriginalEl autor unwichtich

  2. 10

    En GlassFish 3 y GlassFish 4 la configuración de una aplicación web se realiza a través de glassfish-web.xml. En su caso, el archivo de la configuración deseada tendría este aspecto:

    <!DOCTYPE glassfish-web-app PUBLIC 
        "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN"
        "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
    <glassfish-web-app>
        <context-root>/path/to/our/App</context-root>
    </glassfish-web-app>

    Usted puede encontrar más detalles en la sección GlassFish Server Deployment Descriptor de Archivos de Oracle GlassFish Server de la Aplicación de la Guía de Implementación. Una versión en línea de este documento puede ser encontrado en http://docs.oracle.com/cd/E18930_01/html/821-2417/.

    Sí, yo tenía un problema similar. El sun-web.xml no tiene ningún efecto sobre la raíz de contexto. He cambiado el uso de la glassfish-web.xml. Funciona.

    OriginalEl autor Oliver

Dejar respuesta

Please enter your comment!
Please enter your name here