[jboss-as7-dev] Question about EAR's and Class Loading

Stuart Douglas stuart.w.douglas at gmail.com
Tue Mar 22 15:46:55 EDT 2011


On 23/03/2011, at 6:42 AM, Andrig Miller wrote:

> 
> 
> ----- Original Message -----
>> From: "David M. Lloyd" <david.lloyd at redhat.com>
>> To: "Andrig Miller" <anmiller at redhat.com>
>> Cc: jboss-as7-dev at lists.jboss.org
>> Sent: Tuesday, March 22, 2011 1:40:06 PM
>> Subject: Re: Question about EAR's and Class Loading
>> On 03/22/2011 02:29 PM, Andrig Miller wrote:
>>> So, I got past the class not found exception for logging (I actually
>>> had to add org.jboss.logmanager export), since I was using the
>>> logmanager.
>> 
>> BTW we've been discussing this one - I think we're going to set it up
>> so
>> that manifest Dependencies at the EAR level are copied into their
>> constituent deployments, since this is probably what users will expect
>> will happen ("export" has certain potentially undesirable side-effects
>> with regards to class-path references between deployment units). So
>> expect the "export" to be no longer necessary in Beta2.
>> 
> 
> Excellent.  That will be nice.
> 
>>> So, after getting past that, and successfully creating a module for
>>> MySQL and defining my data source, I know have another interesting
>>> issue with my ear file.
>>> 
>>> I get the following:
>>> 
>>> Caused by: java.lang.ClassNotFoundException:
>>> services.entities.Product from [Module
>>> "deployment.OrderManagerApp.ear.OrderManagerEJB.jar:main" from
>>> Service Module Loader]
>>> 
>>> So, my ear is constructed in a fairly simple manner, and the same as
>>> it was for AS 5/6. I have an OrderManagerEntities.jar that has the
>>> entities in them, including the services.entities.Product that its
>>> complaining about, and that jar is in the ear, but the stateless
>>> session beans in OrderManagerEJB.jar reference it. It appears that
>>> there is not proper visibility to the entities in the other jar of
>>> the ear, and it cannot find it.
>> 
>> If OrderManagerEntities.jar is in the EAR's "lib" directory (or the
>> directory you have configured as such in application.xml) then the
>> OrderManagerEJB.jar should be able to "see" it. If not then you'll
>> need
>> an explicit "Class-Path" reference to it from your EJB JAR.
> 
> No, my OrderManagerEntities.jar is not the EAR's "lib" directory, its at the same level as the OrderManagerEJB.jar, and its listed as an EJB module in the application.xml.
> 
> This seems broken to me.


This should work, SubDeploymentDependencyProcessor should set up the deps between sub modules. I will look into this and see if I can figure out what is going wrong.

Stuart  

> 
> Andy
> 
>> --
>> - DML
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev





More information about the jboss-as7-dev mailing list