[jbosstools-dev] Solution to JBIDE-1862

Rob Stryker rob.stryker at redhat.com
Thu May 1 18:31:08 EDT 2008


The solution has been committed.

This turned out to be a bug in my code, but had a lot to do with the way 
WTP treated things that counted as modules but were in fact binary 
files.   Basically, the "name" of most wtp modules (ear projects, ejb 
projects, web projects) is just the name of the project itself. 

The name for a binary ejb inside an ear project, however, is actually 
something ridiculous like
  lib/myEAR99/EarContent/jboss-seam.jar

I have no idea why that's it. Don't ask me.  What makes it even worse is 
that this, however, is that even this module has "members".

The way my publisher had been handling things was to get the project 
name, which should have been the same as the module name. Unfortunately 
binary objects *do* have projects, and those projects are the ones they 
are contained in. Therefore, my deploy folder became something like

jbosshome/server/default/deploy/myEAR.ear/myEAR.jar

It recognized the child was an ejb, but the name it was using was from 
the project. Dumb mistake.

However what compounded it was that the ejb module *also* has 
"members".  In a project scenerio, that works out just fine because you 
would likely append any member directly after the path of the module 
itself.  For example,  

someEar.ear/myEJB.jar  and then append each member, such as
someEar.ear/myEJB.jar/META-INF/application.xml

However, in the case of a binary object, you'd end up getting something like
someEar.ear/myEJB.jar/myEJB.jar

The worst part of all is that there's no way to tell whether a "module" 
is binary or is a project. There's simply no API for it.

Well, I did my best. I checked to see if the "name" of the module has 
more than one "segment" in a Path.

Good luck to us.

- RS



More information about the jbosstools-dev mailing list