Erweitern Sie die war-oder EAR-Dateien in jBoss AS 7
Ich bin die Bereitstellung einer WebService-Projekt in einem jBoss AS7, und alles OK, außer, dass jBoss nicht erweitern, meine war-oder EAR-Datei.
Schon versucht, das kopieren der Datei in das "jboss as 7.1.0.Final\standalone\deployments" - Ordner und mit der WebConsole, aber in beiden Fällen war das Ergebnis das gleiche.
Wenn ich bereitstellen von Eclipse läuft alles OK.
Ich brauche es, um zu erweitern meine Datei, weil in der Initialisierung der Anwendung scan ich die Klasse
Verzeichnisse suchen für Sie die richtige Klasse zu instanziieren, mit der spiegelung.
EDIT : weiß nicht, ob das eine bestimmte situation mit jBoss AS 7 oder mit der jBoss ALS Familie, weil ich schon verwendet, WebSphere-und jBoss-Web-und beide von Ihnen erweitert, die Dateien.
EDIT2 : Hinzugefügt ein System.mit der Ausführung von Pfad
MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
und es gibt folgenden Pfad
C:\jboss-as-7.1.0.Final\bin\content\ServerEAR.ear\Server.war\WEB-INF\classes
Hexe nicht existieren. Also ich habe eine Suche für den Namen der Klasse und Quelle es an
C:\jboss-as-7.1.0.Final\standalone\tmp\vfs\deployment5a9e98d5c43716c3\Server.war-e31a657d2bc3bd0f\WEB-INF\classes\r30
Ist es nicht möglich, die Kraft JBoss zu extrahieren Sie die Dateien in den bereitstellungsordner? Oder wie bekomme ich den vorherigen Pfad zur Laufzeit.
- Die Bereitstellung in der explodierten form, eine option ?
- Durch explodierte form du meinst, Dekomprimieren Sie die war-Datei manuell und stellen Sie es in den deployment-Ordner? Wenn ja, Nein. Es ist keine option 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vergessen hatte über diese Frage, so ist dies die Art, wie ich es gelöst:
Also zur Laufzeit, ich brauche nur zu rufen getRealFilePath ( ... ) mit der Frage zu Werten, und das problem ist gelöst 😉
Thread.currentThread().getContextClassLoader().getResource()
führte zu einem Verzeichnis, inJBOSS_HOME/bin/content
statt der erwartetenJBOSS_HOME/standalone/deployments/<myWarFile.war>
. Jedoch scheint dies zu funktionieren. Also vielen Dank für das teilen dieses! Ich bin nur ein wenig besorgt über die JBoss-Abhängigkeit, ich Fang bei der Verwendung von Klassen aus dervfs
Pakete.Ich glaube, dass kann man nicht erzwingen Jboss7 auto erweitern die
war
- Datei bei der Bereitstellung.Können Sie jedoch kopieren Sie die bereits erweitert
war
und Sie sollten keine Probleme haben.Eigentlich, wenn Sie genau hinsehen, um die Eclipse-Implementierung, Sie werden feststellen, dass es kopiert die ganze Verzeichnis dem deployment-Verzeichnis, nicht die
war
Datei selbst.Warum müssen Sie bereitstellen explodiert, durch die Art und Weise? Wenn Sie brauchen, um zugreifen und Lesen Sie einige Dateien als Ressourcen haben, können Sie einen Blick auf classpath-Ressourcen
Bitte überprüfen Sie die classpath-Einstellung. Ich Stand vor dem gleichen problem vor kurzem und löste es, indem zusätzliche system-Umgebungsvariablen: