Problem:
When using WLShell 2.1.0.1 to connect to a WebLogic server, the connection fails and the following error is displayed:
couldn’t find or load connector class: wlshell.connect.jmx.weblogic.Connector for protocol: t3 check the libraries required by this connector are in the classpath. use the "ver" and "info -v" commands to display the current classpath.
Background:
In order for WLShell 2.1.0.1 to start properly and connect to a WebLogic server, the following must be present in the CLASSPATH: weblogic.jar, wlshell-2.1.0.1.jar, wlshell-2.1.0.jar and log4j-1.2.8.jar
My CLASSPATH had all the above jars, but I still received the error.
WebLogic was installed as a user called "bea" and I was running WLShell as my user (saturg). Both users were not part of the same group, but I ensured that weblogic.jar was accessible and readable by user saturg.
Solution:
As I did not have privileges to make both users bea and saturg part of the same group, I executed the following command as the bea user in the WebLogic installation root directory:
find . -type f | xargs -i chmod 744 {} |
So, basically, I ensured that all files in the WebLogic installation were accessible and readable by all users on the host.
Note:The recommended method is to make both the weblogic installation user and WLShell user part of the same group, thereby restricting access to the WebLogic installation
Root Cause:
The error message is misleading as the class wlshell.connect.jmx.weblogic.Connector is available in wlshell-2.1.0.jar. The solution above indicates that WLShell requires to access other jars in the WebLogic installation (apart from weblogic.jar) or rather classes in weblogic.jar require to access other jars in the WebLogic installation.
NOTE:
(1) The solution above describes a successful problem-solving experience and may not be applicable to all problems with similar symptoms.
(2) Your rating of this post will be much appreciated. Also, feel free to leave comments.