Dies ist ziemlich fummelig, aber Sie können dies tun, indem Sie die MBean JBoss MainDeployer
abfragen. Die MBean wird unter jboss.system:service=MainDeployer
gefunden und hat eine JMX-Operation listDeployments
. Dies gibt eine Sammlung von DeploymentInfo
Objekten zurück, von denen eines Ihre EAR-Bereitstellung sein wird. Diese DeploymentInfo verfügt über eine url
-Eigenschaft, bei der es sich um eine file://
-URL handelt, die Ihr Bereitstellungsverzeichnis beschreibt.
Schön, oder? Sie können dazu die rohe JMX-API verwenden, aber Spring bietet einen viel besseren Mechanismus, indem Sie eine MBeanProxyFactoryBean
verwenden, um eine Instanz von MainDeployerMBean
freizugeben.
Ich möchte einen einfacheren Weg finden, aber das ist das Beste, was ich bisher gefunden habe.
Ich könnte einen einfacheren Weg verwenden, da die Klasse, wo ich diesen Pfad brauche, ich innerhalb der EAR bin, die die WAR enthält, die die Dateien enthält, die ich kopieren möchte. Also, ich brauchte nur 1 Zeile Code: String path = this.getClass(). GetClassLoader(). GetResource ("my_war_filename.war"). GetPath(); Danke! – ptdev