[英]java list all methods and classes in a jar file of specific package using cmd
我正在嘗試在 jar 文件中打印包類的所有公共方法,到目前為止,我只能使用以下方法打印類名:
jar -tf my.jar
但是現在我想在一個 jar 文件中打印一個包的所有類的所有方法,我該如何使用命令提示符來做到這一點。
我見過 javap 命令,但它不起作用。 我找不到我想要的例子。
jar tf
將為您列出內容。
javap
將允許您查看類的更多詳細信息(請參閱此處的工具指南)。
例如,如果您在jar myjar.jar中有一個名為mypkg.HelloWorld的類,則應像
javap -classpath myjar.jar mypkg.HelloWorld
從jar文件中提取類,然后運行
unzip my.jar
find -name '*.class' | xargs javap -p > myjar.txt
myjar.txt文件將在jar內的類內包含所有成員。 您可以立即在其中搜索方法。
#!/bin/sh
jar tf your.jar | grep '.class$' | tr / . | sed 's/\.class$//' | xargs javap -public -cp your.jar
它的作用是:它列出 your.jar 的內容,過濾掉所有不以 .class 結尾的內容,用句點替換所有斜線,並去掉 .class 后綴。 這以一種可以傳遞給 javap 的形式為我們提供了 your.jar 中的所有類,我們這樣做了。
將類路徑設置為 your.jar,javap 反匯編我們傳遞給它的每個類(即所有類),並打印其中可公開訪問的事件,或者換句話說:your.jar 的公共 API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.