[jboss-user] [Installation, Configuration & Deployment] - Find the path to my deployed .ear file

asdf09 do-not-reply at jboss.com
Tue Oct 17 05:09:07 EDT 2006


Hello all,

I'm a newbie and am trying to programatically find the filesystem path to the its .ear file, without to explicitly specify it. (I deploy myapp.ear  in the jboss/server/default/deploy directory, but I don't want to have to configure it)

I found a way (a hack) to do it like this:
String rootPath = getClass().getResource("/").getFile();
This points to the dir where the Tomcat deployer has deployed the app: jboss/server/default/tmp/deploy/tmp123myapp.ear-contents/myapp-webservice-exp.war . Then I create a File object and have the dir.
File earDir = new File(rootPath).getParentFile();

This URL-hack is certainly very deployment- and JBoss-specific and I was looking for a more-elegant solution. Perhaps the Java Management API (JSR-77) or the Java Deployment API (JSR-88) would help me? Any hints or code would be very appreciated!

Rusi

PS: My actual goal is to list all classes in my application that implement a given interface. I was surprised to see that this was not possible using Reflection. The only solution seems to be to brute-force search in the application's .ear file (or in the deployer's temp-dir) and to compare all classes with the interface using Class.isAssignableFrom().



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3978722#3978722

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3978722



More information about the jboss-user mailing list