You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by moum <ve...@cea.fr> on 2007/08/30 09:56:07 UTC

Librairies/Modules Dependencies


-------------------- Sorry for reposting but my message is sitll pending
-----------------
Hello,
  I'm trying to configure Geronimo 1.1.1 for my needs since few days and I
didn't find any solutions in the doc or forum... so here is my problem :
    - I have a jar (test.jar) containing my domain objects and
hibernate/spring DAO classes  to access my DB.
    - I have an EAR app with (at least) a web app using that jar.

The first deployment I did was :
  1.  package all my classes and it's dependencies (spring, hibernate,
commons-collections...) in a single jar file (test.jar)
  2. add that jar as a commons lib(lib/test/3.2/jar)
  3. add a dependency to that lib in the geronimo-application.xml of the ear
app

This work fine !! Now, I'd like to not have to package all thirdparty libs
in my test.jar file ! I could add all dependencies in my
geronimo-application.xml but I would prefer to "specify" (HERE is the
Problem :o)) that test.jar depends on other libs and that my ear depends on
lib/test/3.3.0/jar...

My Tests:
  -   I tried to add all thirdparty jar as commons lib
(test/<thirdparty-lib>/<version>/jar) and hope test.jar will find necessary
lib :o) ... OK this was a little bit optimistic :)

  - I then put all the thirdparty libs in <geronimo_home>/var/shared/lib/,
they are still not seen by test.jar classes

  - I've replaced third party in geronimo comons libs and tried to create a
module instead of having a simple common lib jar : I created a
geronimo-service.xml under test.jar META-INF :
 <?xml version="1.0" encoding="UTF-8"?>
 <module xmlns="http://geronimo.apache.org/xml/ns/j2ee/deployment-1.1">
  <environment>
    <moduleId>
      <groupId>lib</groupId>
      <artifactId>test</artifactId>
      <version>3.3.0</version>
      <type>jar</type>
   </moduleId>
    <dependencies>
     <dependency>
        ...
    </dependency>
    </dependencies>

Here is the deployement error
Deployer operation failed: Cannot deploy the requested application module
because no deployer is able to handle it.  This can happen if you have
omitted the J2EE deployment descriptor, disabled a deployer module, or if,
for example, you are trying to deploy an EJB module on a minimal Geronimo
server that does not have EJB support installed.  
(moduleFile=D:\Programs\geronimo-1.1.1\var\temp\geronimo-deployer13538.tmpdir\ep-core-3.3.0.jar)

  I also tried to define my jar as an app but it doesn't work well
neither... I don't know what to declare to be honest ...

In short, my question is : 
   How can I define a "module"/"lib" or any java app in geronimo that
depends on commons libs and then use that "module" in an ear file... ?

Thanks in advance for your help
Regards

Moum
-- 
View this message in context: http://www.nabble.com/Librairies-Modules-Dependencies-tf4340752s134.html#a12365030
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Librairies/Modules Dependencies

Posted by Kevan Miller <ke...@gmail.com>.
On Aug 30, 2007, at 10:50 AM, David Jencks wrote:

>
> On Aug 30, 2007, at 12:56 AM, moum wrote:
>
>>
>>
>> -------------------- Sorry for reposting but my message is sitll  
>> pending
>> -----------------
>> Hello,
>>   I'm trying to configure Geronimo 1.1.1 for my needs since few  
>> days and I
>> didn't find any solutions in the doc or forum... so here is my  
>> problem :
>>     - I have a jar (test.jar) containing my domain objects and
>> hibernate/spring DAO classes  to access my DB.
>>     - I have an EAR app with (at least) a web app using that jar.
>>
>> The first deployment I did was :
>>   1.  package all my classes and it's dependencies (spring,  
>> hibernate,
>> commons-collections...) in a single jar file (test.jar)
>>   2. add that jar as a commons lib(lib/test/3.2/jar)
>>   3. add a dependency to that lib in the geronimo-application.xml  
>> of the ear
>> app
>>
>> This work fine !! Now, I'd like to not have to package all  
>> thirdparty libs
>> in my test.jar file ! I could add all dependencies in my
>> geronimo-application.xml but I would prefer to "specify" (HERE is the
>> Problem :o)) that test.jar depends on other libs and that my ear  
>> depends on
>> lib/test/3.3.0/jar...
>>
>> My Tests:
>>   -   I tried to add all thirdparty jar as commons lib
>> (test/<thirdparty-lib>/<version>/jar) and hope test.jar will find  
>> necessary
>> lib :o) ... OK this was a little bit optimistic :)

Heh...

>>
>>   - I then put all the thirdparty libs in <geronimo_home>/var/ 
>> shared/lib/,
>> they are still not seen by test.jar classes

This should work. However, you need to add a dependency on geronimo/ 
sharedlib/1.1.1/car in your geronimo-application.xml

>>
>>   - I've replaced third party in geronimo comons libs and tried to  
>> create a
>> module instead of having a simple common lib jar : I created a
>> geronimo-service.xml under test.jar META-INF :
>>  <?xml version="1.0" encoding="UTF-8"?>
>>  <module xmlns="http://geronimo.apache.org/xml/ns/j2ee/ 
>> deployment-1.1">
>>   <environment>
>>     <moduleId>
>>       <groupId>lib</groupId>
>>       <artifactId>test</artifactId>
>>       <version>3.3.0</version>
>>       <type>jar</type>
>>    </moduleId>
>>     <dependencies>
>>      <dependency>
>>         ...
>>     </dependency>
>>     </dependencies>
>>
>> Here is the deployement error
>> Deployer operation failed: Cannot deploy the requested application  
>> module
>> because no deployer is able to handle it.  This can happen if you  
>> have
>> omitted the J2EE deployment descriptor, disabled a deployer  
>> module, or if,
>> for example, you are trying to deploy an EJB module on a minimal  
>> Geronimo
>> server that does not have EJB support installed.
>> (moduleFile=D:\Programs\geronimo-1.1.1\var\temp\geronimo- 
>> deployer13538.tmpdir\ep-core-3.3.0.jar)
>
> This method is what I'd recommend and it should work.  I don't see  
> anything obvious wrong with your plan.  We don't have any "service  
> jars" with embedded plans in the geronimo build and it's possible  
> that feature doesn't work properly in 1.1.1.  You might try putting  
> the plain test jar in the repo and deploying the plan separately:  
> you might need to do this from the admin console.
>
> If I were investigating this I would debug the service-builder  
> gbean to find out why it isn't recognizing the plan as something it  
> needs to deploy.
>
> Would it be possible for you to switch to 2.0.1?  If you discover  
> problems we are more likely to fix them quickly.

One thing to try before debugging, is to specify your geronimo- 
service.xml deployment plan explicitly when deploying. E.g.:

./deploy.sh deploy test.jar geronimo-service.xml

Are you sure META-INF/geronimo-service.xml in your test.jar is  
correct? No misspellings, etc?

--kevan

Re: Librairies/Modules Dependencies

Posted by David Jencks <da...@yahoo.com>.
On Aug 30, 2007, at 12:56 AM, moum wrote:

>
>
> -------------------- Sorry for reposting but my message is sitll  
> pending
> -----------------
> Hello,
>   I'm trying to configure Geronimo 1.1.1 for my needs since few  
> days and I
> didn't find any solutions in the doc or forum... so here is my  
> problem :
>     - I have a jar (test.jar) containing my domain objects and
> hibernate/spring DAO classes  to access my DB.
>     - I have an EAR app with (at least) a web app using that jar.
>
> The first deployment I did was :
>   1.  package all my classes and it's dependencies (spring, hibernate,
> commons-collections...) in a single jar file (test.jar)
>   2. add that jar as a commons lib(lib/test/3.2/jar)
>   3. add a dependency to that lib in the geronimo-application.xml  
> of the ear
> app
>
> This work fine !! Now, I'd like to not have to package all  
> thirdparty libs
> in my test.jar file ! I could add all dependencies in my
> geronimo-application.xml but I would prefer to "specify" (HERE is the
> Problem :o)) that test.jar depends on other libs and that my ear  
> depends on
> lib/test/3.3.0/jar...
>
> My Tests:
>   -   I tried to add all thirdparty jar as commons lib
> (test/<thirdparty-lib>/<version>/jar) and hope test.jar will find  
> necessary
> lib :o) ... OK this was a little bit optimistic :)
>
>   - I then put all the thirdparty libs in <geronimo_home>/var/ 
> shared/lib/,
> they are still not seen by test.jar classes
>
>   - I've replaced third party in geronimo comons libs and tried to  
> create a
> module instead of having a simple common lib jar : I created a
> geronimo-service.xml under test.jar META-INF :
>  <?xml version="1.0" encoding="UTF-8"?>
>  <module xmlns="http://geronimo.apache.org/xml/ns/j2ee/ 
> deployment-1.1">
>   <environment>
>     <moduleId>
>       <groupId>lib</groupId>
>       <artifactId>test</artifactId>
>       <version>3.3.0</version>
>       <type>jar</type>
>    </moduleId>
>     <dependencies>
>      <dependency>
>         ...
>     </dependency>
>     </dependencies>
>
> Here is the deployement error
> Deployer operation failed: Cannot deploy the requested application  
> module
> because no deployer is able to handle it.  This can happen if you have
> omitted the J2EE deployment descriptor, disabled a deployer module,  
> or if,
> for example, you are trying to deploy an EJB module on a minimal  
> Geronimo
> server that does not have EJB support installed.
> (moduleFile=D:\Programs\geronimo-1.1.1\var\temp\geronimo- 
> deployer13538.tmpdir\ep-core-3.3.0.jar)

This method is what I'd recommend and it should work.  I don't see  
anything obvious wrong with your plan.  We don't have any "service  
jars" with embedded plans in the geronimo build and it's possible  
that feature doesn't work properly in 1.1.1.  You might try putting  
the plain test jar in the repo and deploying the plan separately: you  
might need to do this from the admin console.

If I were investigating this I would debug the service-builder gbean  
to find out why it isn't recognizing the plan as something it needs  
to deploy.

Would it be possible for you to switch to 2.0.1?  If you discover  
problems we are more likely to fix them quickly.

thanks
david jencks


>
>   I also tried to define my jar as an app but it doesn't work well
> neither... I don't know what to declare to be honest ...
>
> In short, my question is :
>    How can I define a "module"/"lib" or any java app in geronimo that
> depends on commons libs and then use that "module" in an ear file... ?
>
> Thanks in advance for your help
> Regards
>
> Moum
> -- 
> View this message in context: http://www.nabble.com/Librairies- 
> Modules-Dependencies-tf4340752s134.html#a12365030
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>