正如標題所述,我試圖在日食中使用javap
,但在設置時遇到困難。我試圖使用run
菜單中的external tools
進行設置,但無法找到正確的Arguments:
字符串以使其正常工作。基本上我需要一些能動態執行我打開的當前文件的東西。如何在Eclipse中使用javap?
回答
我使用下面的外部工具的配置來實現這一點:
${system_path:javap}
用於定位在JDK的javap由Eclipse使用。您可以改爲使用javap的絕對路徑。
${project_loc}
返回項目的絕對路徑。由於找不到要使用的預定義變量,因此使用這個名稱來查找資源的.class
文件,這就是爲什麼javap
運行在項目的目錄中而不是包含.class
文件的目錄中的原因。
在傳遞給javap
的參數:
bin
是Eclipse項目的默認輸出文件夾。將其更改爲build/classes
或項目使用的任何內容。請注意,該值相對於${project_loc}
;您可以改爲指定絕對路徑。${java_type_name}
用於獲取選定的類名稱。
您可以在項目資源管理器視圖或項目導航器視圖中選擇Java文件,甚至在任何視圖中選擇Java類型,然後運行外部工具。注意 - 當你選擇一個方法,一個內部類等等,然後運行這個工具時,這種方法不能很好地工作,因爲它們不是自己的資源,導致${project_loc}
將變爲空的場景。
你的問題是,javap需要類文件的路徑,但是當你選擇你的源文件時,你可以訪問eclipse變量${selected_resource_loc}
包含java源代碼的路徑。據我所知,沒有包含類文件路徑的變量。
我認爲最簡單的方法是創建接受java文件路徑的自定義腳本,將java
替換爲class
,並將源文件夾替換爲bin文件夾。如果您正在使用linux,則可以使用命令sed
輕鬆完成。如果你在窗口上,可以使用命令SET
和~
來實現。請參閱幫助瞭解更多詳情。
祝你好運。
請修改Working Directory
以匹配您的java項目輸出文件夾。就我而言,它看起來如下所示。
工作目錄:${workspace_loc:/Sample/bin}
於是我選擇了.class
文件,並沒有任何問題執行javap
。
爲了反彙編Eclipse中當前選擇的.class
文件,我在外部工具配置中使用以下arguments。
這種方式bin
文件夾的子包中的類也可以反彙編。輸出顯示在控制檯視圖中。
Oracle文檔javap parameters。
- 1. Object.clone()中的javap在Java中
- 2. node.js中的Javap equalant
- 3. 如何使用javap工具在jar文件中打印類結構?
- 4. 使用javap的讀取字節代碼
- 5. 如何理解javap的輸出
- 6. 如何從螞蟻執行javap
- 7. 如何使用contextFactory.setKeyStorePath在Eclipse
- 8. 如何使用CircularFloatingActionMenu在eclipse
- 9. 如何在Eclipse中使用XSLT 2.0?
- 10. 如何在Eclipse中使用JUnit
- 11. 如何在Eclipse中使用SQLJ?
- 12. 如何在Eclipse中使用JCurses
- 13. 如何在eclipse中使用svn?
- 14. 如何在Eclipse + GlassFish 3中使用DEBUG?
- 15. 如何在Eclipse中使用antlr4?
- 16. 如何在Android中使用eclipse調試
- 17. 如何在eclipse中使用acm.jar?
- 18. 如何在Eclipse中使用RSE插件?
- 19. 如何在eclipse中使用JUnit
- 20. 如何在Eclipse中使用fxml?
- 21. 如何在eclipse中使用AIDL文件
- 22. 如何在eclipse中使用WebDriver和Java
- 23. 如何在Eclipse中使用javabeans?
- 24. 如何在Eclipse中使用API文檔?
- 25. 如何在eclipse Juno中使用tomcat 8?
- 26. 如何在Eclipse中使用WebSphere 8.5
- 27. 如何在eclipse中使用glassfish?
- 28. 如何在eclipse中使用MongoDB
- 29. 如何在eclipse中使用JUnit和groovy?
- 30. 如何在eclipse中使用windows azure?
謝謝! – guest
+1也更新了圖片,在'ClassName'之前放置'-c',因爲參數應該放在前面。希望你不要介意:) – Pshemo