Wily Introscope, Solution for “Unable to locate the java.lang.ClassLoader classfile”

By Oğuz Sarıgül, 16 April 2010 18:16

One of our customer is monitoring IBM WebSphere with Wily Introscope on an AIX machine. They started to have a problem to start Introscope after they migrated WebSphere from version 6 to version 7.

In order to solve it, we decided to recreate the AutoProbeConnector:

 java -jar CreateAutoProbeConnector.jar -current

However, suprisingly, we failed:

Unable to determine the identity of the JVM: Unable to locate the java.lang.ClassLoader classfile.

That means CreateAutoProbeConnector could not find the class java.lang.ClassLoader. The JVM which is used by WebSphere 7 is IBM Java 1.6. With a quick search I found ClassLoader in jre/lib/ppc64/default/jclSC160/vm.jar

I decompiled CreateAutoProbeConnector and found that there was a constant named as kRuntimeRelativeFilenameOptions in class com.wily.introscope.autoprobe.connector.KAutoProbeConnectorConstants. It keeps file names where the java.lang.ClassLoader should be looked for:

“bin/default/jclSC160/vm.jar”
“jre/bin/default/jclSC160/vm.jar”
“lib/rt.jar”
“jre/lib/rt.jar”
“lib/vm.jar”
“jre/lib/vm.jar”
“lib/core.jar”
“jre/lib/core.jar”
“../Classes/classes.jar”

But path of our vm.jar was not in this list. Then I realized CreateAutoProbeConnector uses a system property in class com.wily.introscope.autoprobe.connector.AutoProbeConnectorJVMUtilities:
System.getProperty(“com.wily.autoprobe.prependToJVMRuntimePath”);

That led us to a solution:

 java -Dcom.wily.autoprobe.prependToJVMRuntimePath=<path-to-vm.jar> -jar CreateAutoProbeConnector.jar -current
VN:F [1.9.3_1094]
Rating: 4.6/5 (5 votes cast)
VN:F [1.9.3_1094]
Rating: +5 (from 5 votes)