Only stuff in lib gets automatically added to the ear classpath. If
you really need the other jars to be at the root of the ear you'll
need to redefine the lib directory to / (this might cause problems,
I'm not sure) or use manifest classpath in your ejb module to pick up
the jars.
hope this helps
david jencks
On Aug 1, 2008, at 10:07 AM, Travis Stevens wrote:
Howdy.
I'm getting the following failure:
16:47:29,741 ERROR [Deployer] Deployment failed due to
java.lang.NoClassDefFoundError: com/gaiam/gcsi/service/ProgramService
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
I think that I am missing something when packaging the ear file.
Basically, the class ProgramService is in gcsi-services.jar which is
placed at the root of the ear. ProgramService is just a simple
interface.
The three EJB specific classes, notably @Local ProgramServiceLocal,
@Remote ProgramServiceRemote and @Statless ProgramServiceImpl,
reside in
gcsi-impl.jar which is also placed at the root of the ear. There is
an
entry in META-INF/application.xml for that file:
<application>
<display-name>gcsi-ear</display-name>
<module>
<ejb>gcsi-impl.jar</ejb>
</module>
</application>
The entity beans are placed in lib/gcsi-core.jar.
All the rest of the libraries (like commons-lang.jar, etc) are
placed in
the root of the ear file.
Any thoughts would be appreciated.
-Trav