This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I've a java web application deployed on Weblogic server. Post deployment, in the logs, I get this warning :
> <Warning> <EJB> <BEA-010001> <While
> deploying EJB 'AlterEJB', class
> was loaded from the system classpath.
> As a result, this class cannot be
> reloaded while the server is running.
> To prevent this behavior in the
> future, make sure the class is not
> located in the server classpath.>
And even if I remove the ejb module from the descriptor (xml) the warning persists and the ejb is being deployed.... The warning however is redundant, ie. its not affecting the application in any way but I want to get rid of the warning msg in the log file... Is there a solution to it or an explanation to why this is happening??
I goggled and understand that this warning is not part of your application, but by server's dependencies. This should not cause you worry. If you are still concerned, remove those jars from the classpath.
Joined: Jan 27, 2013
The issue is once I remove this jar from the server classpath, it starts giving classDefNotFound error for a class in the audit.jar on which another bean's creation depends. However on checking, the jar is being deployed and is present at the WAR's WEB-INF/lib as well.
Any solution for that??
Joined: Oct 08, 2002
I think you have messed up with the dependencies.
Some of my guesses and i am a weblogic amateur too.
The audit.jar may be a dependency for some other war other than the war that contains audit.jar in web-inf\lib
If audit.jar is required by more than one war, try using audit.jar in shared libraries.
Using classes/jars in classpath may not be aggreable to production guys and the warning is justifiable.
Is there a solution to it or an explanation to why this is happening??
Weblogic probably does not allow redefining class method bodies on the system class loader. It can potentially affect several applications and not just your own.
The issue is once I remove this jar from the server classpath, it starts giving classDefNotFound error for a class in the audit.jar on which another bean's creation depends.
It is likely that the other class was also loaded by the system class loader. A system class loader cannot resolve classes on your web application class loader. Move all application jars to your web app and deploy them from there.
However on checking, the jar is being deployed and is present at the WAR's WEB-INF/lib as well.
Check if this jar is present elsewhere on the system classpath.