Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using the context-root from glassfish-web.xml in GlassFish 3

We recently switched to Glassfish 3.1.2.2 and have several Web-Applications packaged as war files. At times the desired context-root for these applications differs from the filename.

Back when we used Weblogic we achieved this by declaring the context-root in the weblogic.xml like this

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

We noticed that the same Tag exists in the glassfish-web.xml. But no matter what we define there, the server always determines the filename as the context-root.

Now we find the option --contextroot in the asadmin utility that would allow us to overwrite the filename at deploy time, but we'd prefer to do define it directly in the archive itself so that whoever will deploy it in the end won't need to know the desired contex-root.

Is there any way to achieve this?

like image 389
Markus Avatar asked Apr 25 '13 13:04

Markus


People also ask

What is context root in web xml?

A context root identifies a web application in a Java EE server. A context root must start with a forward slash (/) and end with a string. In a packaged web module for deployment on the GlassFish Server, the context root is stored in glassfish-web. xml.

What is GlassFish-web xml?

The glassfish-web.xml file configures a web application (WAR file). The element hierarchy is as follows: glassfish-web-app . context-root . security-role-mapping . .

Where is GlassFish-web xml located?

The GlassFish Server web application runtime DD, if used, is named glassfish-web. xml and is located in the WEB-INF directory.


1 Answers

In GlassFish 3 and GlassFish 4 the configuration of a web application is done via glassfish-web.xml. In your case the desired configuration file would look like this:

<!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>

You can find further details in section GlassFish Server Deployment Descriptor Files of Oracle GlassFish Server Application Deployment Guide. A online version of this document can be found at http://docs.oracle.com/cd/E18930_01/html/821-2417/.

like image 112
Oliver Avatar answered Oct 03 '22 06:10

Oliver