標籤:
javap是sun提供的對class檔案進行反編譯的工具
1、配置Run---external tools---external tools configurations
選擇Program 建立javap運行方式
設定location、workspace等選項
如:
需要注意的是workspace選擇和argument配置
workding directory 設定為${workspace_loc}/${project_name} ,
Arguments:
-c -verbose -classpath ${workspace_loc}/${project_name}/bin ${java_type_name}
如果設定錯誤會提示cannot find xxx類的錯誤,或者是有關java_type_name empty的錯誤
arguments要加上java_type_name,否則會提示No classes were specified on the command line
2、Run運行。另外點擊javap運行按鈕時 先選中需要被啟動並執行.java檔案,至此你就可以在eclipse中使用javap了。
下面對設定工作目錄(working directory)和參數(Arguments)的變數進行解釋,如果只是想知道怎麼使用javap,下面可以跳過。在設定這兩項選項之前,我們先對右側的變數( Variables )進行說明,這樣我們就對eclipse是如何管理我們的工程有一個瞭解.我們選中 Variables後
會出現一系列的英語單詞,如:
下面就對這些英語單詞進行說明,如果不想繼續看下面的內容,可以自己去嘗試翻譯下面的變數描述( Variables descriptions ),我是比較懶的人英語也不好,就直接通過link方式將eclipse進行漢化,直接將別人翻譯好的內容搬弄過來,下面是其參數解釋:
1.${build_files}
返回其修改導致了當前構建的絕對檔案系統路徑的集合。可將一系列的字元(“a”表示增加(added),“c”表示更改(changed),“r”表示除去(removed),“f”表示僅限檔案(files only),“d”表示僅限目錄(directories only))作為自變數來提供,以使檔案清單僅包含特定類型的變化量。預設為包含全部變化量。
2.${build_project}
返回其修改導致了當前構建的絕對檔案系統路徑的集合。可將一系列的字元(“a”表示增加(added),“c”表示更改(changed),“r”表示除去(removed),“f”表示僅限檔案(files only),“d”表示僅限目錄(directories only))作為自變數來提供,以使檔案清單僅包含特定類型的變化量。預設為包含全部變化量。
3.${build_type}
返回正在執行的構建的類型:“增量”、“完全”、“自動”或“無”。
4.${container_loc}
返回資源的容器的絕對檔案系統路徑。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
5.${container_name}
返回資源的容器的名稱。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
6.${container_path}
返回資源的容器的工作空間相對路徑。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
7.${current_date}
返回當前系統的時間,格式為yyyyMMdd_HHmm。可使用可選聲明來規定其他的格式。格式必須是java.util.SimpleDateFormat的有效形式。
8.${eclipse_home}
運行中的平台的基本安裝位置
9.${env_var}
返迴環境變數的值。必須將環境變數名指定為自變數。
10.${file_prompt}
返回在“選擇檔案”對話方塊中選擇的檔案的絕對檔案系統路徑。當提供一個自變數時,使用它作為對話方塊標題上的提示。當提供第二個自變數時,使用它作為“選擇檔案”對話方塊的初始值。第一個自變數和第二個自變數必須以“:”分隔。
11.${folder_prompt}
返回在“選擇目錄”對話方塊中選擇的目錄的絕對檔案系統路徑。當提供一個自變數時,使用它作為對話方塊標題上的提示。當提供第二個自變數時,使用它作為“選擇目錄”對話方塊的初始值。第一個自變數和第二個自變數必須以“:”分隔。
12.${java_extensions_regex}
與登入的類似於 Java 的副檔名相匹配的Regex
13.${java_type_name}
返回所選資源中主類型的標準 Java 類型名。
14.${project_classpath}
返回該工程的系統路徑
15.${project_loc}
返回資源的項目的絕對檔案系統路徑。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
16. ${project_name}
返回資源的項目的名稱。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
17.${project_path}
返回資源的項目的工作空間相對路徑。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
18.${resource_loc}
返回資源的絕對檔案系統路徑。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
19.${resource_name}
返回資源的名稱。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
20. ${resource_path}
返回資源的工作空間相對路徑。當沒有指定自變數時,目標資源就是選擇的資源,否則目標資源是由工作空間相對路徑標識的資源。
21.${selected_resource_loc}
返回選擇的資源的工作空間的檔案系統絕對路徑
22. ${selected_resource_name}
返回選擇的資源的名稱
23. ${selected_resource_path}
返回選擇的資源的工作空間的相對路徑
24. ${selected_text}
返回活動編輯器中當前選擇的文本。
26.${system}
返回 Eclipse 系統變數的值。必須將變數名指定為自變數 - 下列其中一個值:ARCH、ECLIPSE_HOME、NL、OS 或 WS。
27. ${system_path}
返回外部檔案的絕對檔案系統路徑。通過根據指定的系統路徑來尋找第一個出現的指定工具來解決。必須將工具名稱作為自變數來提供。
28.${system_property}
從 Eclipse 運行時返回系統屬性的值。系統屬性名必須作為自變數指定。
29. ${workspace_loc}
返回工作空間根目錄的絕對檔案系統路徑。當指定了自變數時,返回由工作空間相對路徑標識的資源的絕對檔案系統路徑。
上述基本上是所有的 變數描述( Variables descriptions ),請注意標記為綠色的選項,是我們需要使用到的 Variables.
我們上述已經說明了需要配置2個地方,第一個為工作目錄,就是我們建立的工程目錄下,可以利用 ${workspace_loc}/ ${project_name}來表示,
在至於路徑分隔字元,可以選擇‘\‘也可以選擇‘/‘,都是可以的.第二個設定就是我們的參數設定,就是我們需要進行javap分解的class檔案,可以利用 ${workspace_loc}/ ${project_name}/bin/ ${java_type_name},請注意我們必須在中間加上一個bin 目錄,這是因為eclipse會將我們的java檔案編譯到該目錄下,但是在 Variables 中卻沒有表示該目錄的變數,因此只能手工添加。
如果你是第一次進行配置,請最好看完下面的說明,也許第一啟動並執行時候會出現下面的錯誤:
那麼請你在運行javap的時候一定要選擇好你要javap的java檔案,意思就是你要分解的java檔案必須被選擇上,如:
然後再點擊運行javap,則會順利出現下面分解好的class檔案:
Eclipse中使用javap回合組態詳解