"No such method", "Can not find the class", "Class A is not Class B"....
This perl script is to find out which JAR file has the class name in current directory.
Save it as "findjar" for example.
#!/usr/bin/perl
use File::Find;
if ($#ARGV != 0) {
print "usage: findjar.pl classname\n";
exit;
}
my $classname = $ARGV[0];
find(\&wanted, ".");
sub wanted{
my $file = $_;
if ((-f $file) && ($file =~ /\.jar$/)){
my @result = qx (jar -tf $file |grep -i $classname);
if (@result){
print "==============$file===============\n";
print @result;
}
}
}
Usage:
[root@yarn-fcs-1 mapr]# findjar org.apache.spark.deploy.yarn.ExecutorLauncher ==============spark-assembly-1.1.0-hadoop2.4.1-mapr-1408.jar=============== org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$waitForSparkMaster$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$org$apache$spark$deploy$yarn$ExecutorLauncher$$allocateMissingExecutor$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor$$anonfun$preStart$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$allocateExecutors$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$launchReporterThread$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$waitForSparkMaster$3.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$waitForSparkMaster$4.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$waitForSparkMaster$2.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$finishApplicationMaster$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor$$anonfun$receive$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$allocateExecutors$2.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor$$anonfun$receive$1$$anonfun$applyOrElse$2.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$registerApplicationMaster$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anon$1$$anonfun$run$2.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$main$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor$$anonfun$receive$1$$anonfun$applyOrElse$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anon$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$run$1.class org/apache/spark/deploy/yarn/ExecutorLauncher.class [root@yarn-fcs-1 mapr]# findjar org/apache/spark/deploy/yarn/ExecutorLauncher ==============spark-assembly-1.1.0-hadoop2.4.1-mapr-1408.jar=============== org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$waitForSparkMaster$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$org$apache$spark$deploy$yarn$ExecutorLauncher$$allocateMissingExecutor$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor$$anonfun$preStart$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$allocateExecutors$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$launchReporterThread$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$waitForSparkMaster$3.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$waitForSparkMaster$4.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$waitForSparkMaster$2.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$finishApplicationMaster$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor$$anonfun$receive$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$allocateExecutors$2.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor$$anonfun$receive$1$$anonfun$applyOrElse$2.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$registerApplicationMaster$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anon$1$$anonfun$run$2.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$main$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$MonitorActor$$anonfun$receive$1$$anonfun$applyOrElse$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anon$1.class org/apache/spark/deploy/yarn/ExecutorLauncher$$anonfun$run$1.class org/apache/spark/deploy/yarn/ExecutorLauncher.class
No comments:
Post a Comment