JBuilder 4 Enterprise: Solaris: Error when starting EJBs in WebLogic, "java.lang.NoClassDefFoundError"

By: Josh Fletcher

Abstract: Starting WebLogic from JBuilder 4 on Solaris with more than one jar file to deploy results in a "java.lang.NoClassDefFoundError" exception.


Question:

I'm trying to launch my EJB's in JBuilder 4 Enterprise using WebLogic 5.1 on Solaris. I have more than one EJB jar file to deploy. When I start WebLogic from the IDE I get an error like:

Exception in thread "main" java.lang.NoClassDefFoundError: ,/home/joeuser/jbproject/myproject/ejbjarfile/jar

The file /home/joeuser/jbproject/myproject/ejbjarfile.jar does exist but it is obviously not a class. What can I do?

 
Answer:

This problem stems from JBuilder's use of quotation marks in the -Dweblogic.ejb.deploy parameter when deploying more than one jar file. For example, let's say I have the jar files /tmp/ejb1.jar and /tmp/ejb2.jar to deploy to WebLogic. If both jar files are checked for deployment in Project | Properties | Run tab | EJB tab JBuilder will create a parameter like:

-Dweblogic.ejb.deploy="/tmp/ejb1.jar","/tmp/ejb2.jar"

On Solaris this parameter is not handled correctly. Here are the suggested workarounds:

  • Only run the server with a single jar file to deploy if possible. Perhaps make separate projects for each jar file, or separate Run Configurations.
  • Start the server with 0 or 1 jar file deployed and use the Tools | EJB Deployment tool to deploy the others.
  • Modify the weblogic.properties file so that the jar files are deployed automatically when the server is started by JBuilder.
  • Run the server externally from JBuilder and use the Tools | EJB Deployment tool to deploy the jar files.

This issue has been logged in Borland's internal bug tracking system.

 

Server Response from: SC1