Linux,演练以在许多jar中查找类文件。
转到包含下面的jar的目录。
eric@dev /home/el/kafka_2.10-0.8.1.1/libs $ ls
blah.txt metrics-core-2.2.0.jar
jopt-simple-3.2.jar scala-library-2.10.1.jar
kafka_2.10-0.8.1.1-sources.jar zkclient-0.3.jar
kafka_2.10-0.8.1.1-sources.jar.asc zookeeper-3.3.4.jar
log4j-1.2.15.jar
我正在寻找为Producer类提供的jar。
了解for循环的工作原理:
eric@dev /home/el/kafka_2.10-0.8.1.1/libs $ for i in `seq 1 3`; do
> echo $i
> done
1
2
3
了解为什么找到这个可行的方法:
eric@dev /home/el/kafka_2.10-0.8.1.1/libs $ find . -name "*.jar"
./slf4j-api-1.7.2.jar
./zookeeper-3.3.4.jar
./kafka_2.10-0.8.1.1-javadoc.jar
./slf4j-1.7.7/osgi-over-slf4j-1.7.7-sources.jar
您可以将下面的所有jar泵入for循环:
eric@dev /home/el/kafka_2.10-0.8.1.1/libs $ for i in `find . -name "*.jar"`; do
> echo $i
> done
./slf4j-api-1.7.2.jar
./zookeeper-3.3.4.jar
./kafka_2.10-0.8.1.1-javadoc.jar
./kafka_2.10-0.8.1.1-sources.jar
现在我们可以对每个进行操作:
在每个罐子上做一个jar tf,并将其塞入blah.txt:
for i in `find . -name "*.jar"`; do echo $i; jar tf $i; done > blah.txt
检查blah.txt,它是所有jar中所有类的列表。 您可以在该文件中搜索所需的类,然后查找它之前的jar,这就是您想要的jar。