我沒有看到源代碼,但.class文件。 我還能找出導入的文件嗎?如何找到在java類中導入的文件?
0
A
回答
4
請記住,進口僅僅是一種方便的機制,可以讓Java開發人員使用它很簡單名稱(Date
),而不是它的完全合格的名稱是指一類(FQN - java.util.Date
或java.sql.Date
)。
因此,如果您運行.class
文件through a decompiler,您可能會看到使用FQN的引用,並且可能沒有導入語句。
0
好吧,如果你只想做手工,我建議你看看反編譯器,如JD GUI
否則,你需要,如果你想以編程方式將此信息去思考方式。
0
如果您需要批量執行此操作,並且不想打擾反編譯器提供的所有其他詳細信息,則可以檢查常量池以獲取類引用。
請注意,如前所述,源導入僅僅是一種便利,並不直接對應於類文件中的任何內容。掃描常量池將而不是顯示從源文件中未使用的導入,它將而不是顯示僅用於編譯時常量(public static final String ...
等)的類。它將顯示FQNs甚至在同一包中的類,它將顯示使用FQN引用沒有導入的類。它將秀類,它們的簽名隱含使用:
URL loc = Something.class.getProtectionDomain().getCodeSource().getLocation();
會產生字節碼ProtectionDomain
和CodeSource
引用盡管消息來源沒有明確提到他們。
https://hg.netbeans.org/core-main/raw-file/default/nbbuild/antsrc/org/netbeans/nbbuild/VerifyClassLinkage.java是如何執行此掃描的示例(請參閱dependencies
方法)。
相關問題
- 1. 如何在ADT中的.java文件中導入所有Android類
- 2. 在Eclipse中導入類/ java文件
- 3. 在JSP文件中導入Java類
- 4. 如何在java中導入文件
- 5. 如何導入Java文件到Eclipse
- 6. 將類導入Java文件
- 7. Android:無法在aidl文件中找到類java.util.ArrayList的導入
- 8. 無法在AIDL文件中找到類android.database.Cursor的導入
- 9. 如何在NetBeans中將java文件導入到另一個java文件中
- 10. 如何在java中找到類文件的包
- 11. 在Java或Groovy中,如何找到byte []的文件類型?
- 12. 如何在Java類文件中包含引用(導入XY)?
- 13. 如何在ClojureScript中導入Java類?
- 14. Java找不到類文件
- 15. 如何將csv文件導入到Java中的mongodb中
- 16. 在Eclipse中找不到Java導入?
- 17. 如何在java/android中的GRPC中的.proto文件中導入數據類型?
- 18. Android,從導入的jar文件中找不到類
- 19. 如何在.java文件中導入.class文件?
- 20. 如何找到java中csv文件的分隔類型
- 21. 如何導入Java類中的JunitParamsRunner
- 22. 將.xls文件導入到java servlet中
- 23. 將CSV文件導入到Java中
- 24. 如何在Android Studio中導入在GitHub上找到的組件?
- 25. java「找不到符號」 - 如何在同一目錄下導入文件?
- 26. 如何導入java類?
- 27. 如何將java文件導入到javascript文件
- 28. 我如何「導入」一個java文件到另一個文件
- 29. 入門找不到類:org.apache.ivy.core.report.ResolveReport在Java中
- 30. 如何在Android Studio中使用java中的其他文件導入類?
你是什麼意思的「進口」? – SLaks 2011-03-31 19:32:39