Kontext-Pfad für die web-Anwendung auf dem Glassfish 3.1.2.2

Ich versuche einen Weg zu finden, explizit den Kontext-Pfad einer web-Anwendung eingesetzt, Glassfish 3.1.2.2 aber ich habe kein Glück so weit. Kann jemand Anleitung geben zu diesem? Der hintergrund HIERFÜR ist unter:

Ich habe eine web-Anwendung, besteht aus zwei separaten Netbeans (7.0) Projekte. Der erste ist ein web-service und heißt FooWS. Das zweite ist ein Benutzer zugewandten web-Anwendung, die verwendet die FooWS webservice. Es heißt FooApp.

Ich habe mir vor kurzem aktualisiert glassfish zu 3.1.2.2 in der Hoffnung, die Lösung eine andere Frage, und wenn ich jetzt die Bereitstellung der FooWS app, setzt es erfolgreich, aber mit Kontext Pfad /web-anstatt /FooWS. Dies ist nicht etwas, ich würde besonders interessieren, außer, dass wenn ich versuche zu implementieren FooApp, glassfish auch versucht zu implementieren, die auf /web führt zu der folgenden Fehlermeldung:

SEVERE: Exception beim laden der app : java.lang.Ausnahme: WEB0113: Virtuelle server [server] hat bereits ein web-Modul [FooWS] geladen [/web]; daher web-Modul [FooApp] kann nicht geladen werden in diesem Kontext Pfad auf diesem virtuellen server.

Den web.xml für FooApp sieht wie folgt aus:

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

Die Konfiguration für FooWS ist ähnlich. Weder enthält jede Erwähnung der Anwendung Kontext-so meine Erwartung ist, dass Sie verwenden sollten /FooWS anstatt standardmäßig auf /web.

Ist die offensichtliche Lösung zu sein scheint, überschreiben Sie den context path in der web.xml aber ich finde keine Möglichkeit dies zu tun. Irgendwelche Vorschläge?

Nur einige Folgen, die ich versehentlich verändert den Kontext Pfad /FooW. Dieses mal hat es eingesetzt als erwartet /FooW. Ändern Sie es zurück, wenn /FooWS bewirkt, dass das alte Verhalten zurück, das ist, setzt es wieder auf /web. Wie es scheint, habe ich einen workaround für den moment.

Zum nutzen der jeder nach dieser, ich habe das gleiche Verhalten mit 3.1.2. Ich habe jetzt wieder auf 3.1 (b43), und es verhält sich wie erwartet.

  • Sie stellen in netbeans? Rechtsklicken Sie auf das project-> Eigenschaften -> Ausführen -> Blick auf den Kontext-Pfad ein. Wenn Sie die Bereitstellung über asadmin, können Sie den Befehl?
  • Ja, ich bin die Bereitstellung von netbeans. Der Kontext-Pfad sagt /FooWS, wie ich es erwarten würde, aber es scheint nicht verwendet zu werden. Ich habe versucht, die Wiederherstellung des Projekt, aber es hat auch nicht geholfen.
  • Ist "web", vielleicht ist die domain (Standard "domäne1")?
  • Die domain ist definitiv domain1, ist, dass, was Sie Fragen? Die log-Meldung oben bedeutet auch, dass /web ist der Kontext-Pfad im Gegensatz zu einem domain-Namen.
InformationsquelleAutor PhilDin | 2012-08-07
Schreibe einen Kommentar