Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

external libraries in EJB projects

 
Karol Oslowski
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear All!

I'm trying to write a Session Bean in which one of the business methods is giving as result a class from an external jar (external = not included in the jboss lib). When I try to deploy it I get something like this:

**********

java.lang.NoClassDefFoundError: org/apache/myfaces/custom/tree2/TreeNodeBase
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2365)
at java.lang.Class.privateGetPublicMethods(Class.java:2488)
at java.lang.Class.privateGetPublicMethods(Class.java:2504)
at java.lang.Class.getMethods(Class.java:1406)
at org.jboss.verifier.strategy.AbstractVerifier.hasEJBCreateMethod(AbstractVerifier.java:664)
at org.jboss.verifier.strategy.EJBVerifier20.verifySessionBean(EJBVerifier20.java:834)
at org.jboss.verifier.strategy.EJBVerifier20.checkSession(EJBVerifier20.java:64)
at org.jboss.verifier.BeanVerifier.verify(BeanVerifier.java:166)

**************

I'm using jboss 4.0.3 and myeclipse. When I check the export checkbox it doesn't help and the resulting ear still doesn't contain the required jar.

In other words the question is:

What's the proper way of deploying external libraries that are to be used by EJB project? Putting them in /lib directory of JBoss seems to work but I suppose this is not the way to go. So how to include external jars in EAR deployment so that they are visible by JBoss classloader (for validating purposes)? (using JBoss and myeclipse)

Thank you in advance for all help.

Kind regards

Karol
 
Heonkoo Lee
Ranch Hand
Posts: 85
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would put the external jar in the ear if the jar is only used by a certain application. You can specify the ear's class loader repository in jboss-app.xml (in ear's META-INF directory) like this:



Regards,
[ October 24, 2005: Message edited by: Heonkoo Lee ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic