Glassfish 3.1.2.2上Web应用程序的上下文路径

我正在尝试找到一种方法来明确指定部署到Glassfish 3.1.2.2的Web应用程序的上下文路径,但到目前为止我还没有运气。 任何人都可以就此提供指导吗? 背景如下:

我有一个Web应用程序,包含两个独立的Netbeans(7.0)项目。 第一个是Web服务,称为FooWS。 第二个是面向用户的Web应用程序,它使用FooWS Web服务。 它叫做FooApp。

我最近将glassfish升级到3.1.2.2以期解决其他问题,现在当我部署FooWS应用程序时,它成功部署但使用上下文路径/ web而不是/ FooWS。 这不是我特别关心的事情,除了当我尝试部署FooApp时,glassfish还尝试将其部署到/ web导致以下错误:

严重:加载应用程序时出现exception:java.lang.Exception:WEB0113:虚拟服务器[服务器]已经在[/ web]上加载了一个Web模块[FooWS]; 因此,无法在此虚拟服务器上的此上下文路径中加载Web模块[FooApp]。

FooApp的web.xml如下所示:

   defaultWebRootId 2631   com.foo.service.AppInitialiser    30    

FooWS的配置类似。 两者都没有提到应用程序上下文,所以我的期望是它应该使用/ FooWS而不是默认为/ web。

显而易见的解决方案似乎是覆盖web.xml中的上下文路径,但我无法找到任何方法。 有什么建议么?

只是一些跟进,我不小心改变了/ FooW的上下文路径。 这次它按预期部署到/ FooW。 如果/ FooWS导致旧行为返回,则更改它,也就是说,它再次部署到/ web。 好像我现在有一个解决方法。

为了此后任何人的利益,我在3.1.2中获得了相同的行为。 我现在已经回到3.1(b43)并且它的行为符合预期。

在与web.xml相同的文件夹中添加glassfish-web.xml文件

   /FooWS