簡體   English   中英

java使用cmd列出特定包的jar文件中的所有方法和類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM