Контекстный путь для веб-приложения на Glassfish 3.1.2.2

Я пытаюсь найти способ явно указать контекстный путь веб-приложения, развернутого в Glassfish 3.1.2.2, но пока мне не повезло. Может ли кто-нибудь дать руководство по этому поводу? Предыстория этого ниже:

У меня есть веб-приложение, состоящее из двух отдельных проектов Netbeans (7.0 ). Первый представляет собой веб-сервис и называется FooWS. Второе — это пользовательское веб-приложение, которое использует веб-сервис FooWS. Он называется FooApp.

Я недавно обновил стеклянную рыбу до 3.1.2.2 в надежде решить какую-то другую проблему, и теперь, когда я развертываю приложение FooWS, оно развертывается успешно, но с контекстным путем /web, а не /FooWS. Это не то, о чем я бы особенно заботился, за исключением того, что когда я пытаюсь развернуть FooApp, Glassfish также пытается развернуть это в /web, что приводит к следующей ошибке:

СЕРЬЕЗНАЯ :Исключение при загрузке приложения :java.lang.Exception :WEB0113 :Виртуальный сервер [server] уже имеет веб-модуль [FooWS], загруженный в [/web]; поэтому веб-модуль [FooApp] не может быть загружен по этому пути контекста на этом виртуальном сервере.

Web.xml для FooApp выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>defaultWebRootId</param-name>
        <param-value>2631</param-value>
    </context-param>

    <listener>
        <listener-class>com.foo.service.AppInitialiser</listener-class>
    </listener>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

Конфигурация для FooWS аналогична. Ни один из них не содержит упоминания о контексте приложения, поэтому я ожидаю, что он должен использовать /FooWS, а не /web по умолчанию.

Очевидное решение, казалось бы, состоит в том, чтобы переопределить контекстный путь в файле web.xml, но я не могу найти способ сделать это. Какие-либо предложения?

Просто небольшое дополнение, я случайно изменил контекстный путь на /FooW. На этот раз он развернулся, как и ожидалось, в /FooW. Изменение его обратно, если /FooWS приводит к возврату старого поведения, то есть оно снова развертывается в /web.Кажется, у меня есть обходной путь на данный момент.

Для всех, кто следит за этим, я получил такое же поведение с 3.1.2. Сейчас вернулся на 3.1(b43)и она ведет себя как положено.

7
задан PhilDin 8 August 2012 в 08:36
поделиться