JDT 常見問題

我可以不使用隨工作台內建的 Java 編譯器而改用其它的嗎(例如 javac) ?

否。JDT 提供很多更精密的特性, 包括:全面自動執行漸進式的重新編譯、程式碼片段評估、 程式碼輔助、類型階層以及快速程式碼替換。這些特性需要特殊的支援, 而這些支援是放在工作台 Java 編譯器(為 JDT 漸進式專案建置器中不可或缺的一部份)中, 標準的 Java 編譯器中沒有。

Java 套件出自何處?

專案只含有檔案與資料夾。Java 套件的概念是透過 Java 專案的類別路徑來傳達(在 UI 中, 「套件瀏覽器」會按照類別路徑中的定義來呈現套件)。 要訣:如果套件結構不是您要的,請核對您的類別路徑。只會在類別路徑上的 Java 元素中尋找它們本身的宣告及對它們的參照。

何時可使用內部與外部 JAR 程式庫檔案?

內部資源常駐在工作台的某些專案中, 而由工作台管理;就像其它資源般,這些資源可以是工作台所管理的版本。 而外部資源不是工作台的一部份, 而只能供參照使用。舉例來說,JRE 通常是外部的且非常大, 而不需建立其和 VCM 系統間的關聯性。

何時應使用 Java 專案中的原始檔資料夾?

每一個 Java 專案會透過專案類別路徑中的一或多個原始檔類型項目, 來尋找其 Java 原始檔。您可利用原始檔資料夾, 將大專案的套件組織成一些有用的群組, 或將原始碼和同一專案中的其它檔案分開。此外,如果您有一些不需要放在建置路徑中的檔案(如:文件), 請使用原始檔資料夾。

何謂原始檔附加,該如何定義一個?

程式庫是儲存成 JAR 檔, 這類檔案中含有二進位類別檔(可能還有其它資源)。這些二進位類別檔可提供套件、類別、方法與欄位的簽章資訊。 此資訊已足以編譯或執行, 但在原來的原始碼方面所含的資訊卻很少。 為了方便瀏覽與除錯二進位程式庫, 可採用一種建立對應原始 JAR 檔(或 ZIP)檔和二進位 JAR 檔間之關聯性的機制。

為何我的資源(例如 bin)全會複製到輸出資料夾中?

如果您的 Java 專案有使用原始檔資料夾, 則在編譯專案中的原始檔期間,Java 編譯器也會將非 Java 資源複製到輸出資料夾中, 以便使其出現在執行中程式的類別路徑中。如果您不想將某些資源複製到輸出位置中, 您可以在編譯器的喜好設定中設定一個資源過濾器:視窗 > 喜好設定 > Java > 編譯器 > 建置路徑

如何避免將文件檔複製到專案的輸出資料夾中?

請使用原始檔資料夾,並將您不想複製到輸出資料夾的任何資源, 放置到未含在類別路徑中的個別資料夾內。您也可以在編譯器喜好設定中, 設定一個資源過濾器(例如 .doc):視窗 > 喜好設定 > Java > 編譯器 > 建置路徑

如何建立預設套件?

您不需要建立。原始檔資料夾或專案之根資料夾中的檔案, 即被視為位在預設套件中。事實上,每一個原始檔資料夾都有一項功能,那就是含有預設套件的片段。

何謂重構?

重構是指行為保留的程式變換。JDT 支援 Martin Fowler 在 Refactoring: Improving the Design of Existing Code , Addison Wesley 1999 一書中所提的眾多變換。

何時該使用程式碼選取/程式碼碼解析 (F3)?

主要是為了透過編譯器的說明,來瞭解對應至某個原始檔範圍的 Java 元素。

Java 程式資訊(如:類型階層、宣告、參照等)是由 Java 建置器產生的嗎? 當停用自動建置特性時,仍會更新此資訊嗎?

Java 程式資訊不受 Java 建置器影響。 當您執行資源變更或 Java 作業時,即會自動更新。 尤其是即使停用自動建置特性, Java 工具開發所提供的所有功能(如:類型階層、程式碼輔助、搜尋)仍可正確地繼續執行; 例如,當執行較繁重的重構作業,而需停用建置器時, 您仍可使用會反映最新變更(但尚未建置)的程式碼輔助。 除了啟動(亦即,執行與除錯)程式外, 唯一需用到 Java 建置器的功能為程式碼片段的評估。

在重新開啟工作台後, 編輯 Java 原始檔後的第一項建置作業似乎花較久的時間。 為何會如此?

當關閉工作台時,Java 漸進式專案建置器會將其內部狀態儲存到檔案中。 當您於重新開啟專案後,第一次進行建置時, Java 漸進式專案建置器會還原其內部狀態。 當此檔案較大時,使用者會不尋常地發現建置時間延遲過久。

看不到我的類別的類型階層。該如何做?

請檢查您的建置類別路徑是否設定正確。設定適當的建置類別路徑, 是您在開發 Java 時一項相當重要的作業。 如果建置路徑不正確,您將無法編譯器碼。此外,您將無法在類型階層中搜尋或查看 Java 元素。

如何停用「自動編譯」,並在必要時手動進行?

清除視窗 > 喜好設定 > 工作台 > 在修正資源時自動執行建置動作勾選框。當您想建置時, 請按 Ctrl+B,或選取功能表列中的專案 > 建置全部

提示:當您關閉 "自動編譯" 並以手動方式建置時, 也可能想要選取視窗 > 喜好設定 > 工作台 > 在手動建置之前,自動儲存所有修改過的資源勾選框。

當我在「概要」檢視畫面中選取了方法或欄位時,只有該元素的原始檔會顯示在編輯器中。怎麼做才能看到整個檔案的原始檔呢?

有一個僅顯示所選元素的原始檔工具列按鈕 - 您只需不要按下它即可。

我可以建立巢狀原始檔資料夾嗎?

可以,您可以使用排除過濾器來建立巢狀原始檔資料夾。

我可以對每一個原始檔資料夾具有個別的輸出資料夾嗎?

可以,在您 Java 專案的 Java 建置路徑 > 原始檔內容頁中, 選取允許原始檔資料夾的輸出資料夾勾選框。

我可以具有一個位在工作區之外的輸出或原始檔資料夾嗎?

可以,您可以建立一個鏈結的資料夾,指向想要的位置, 然後使用該資料夾作為您 Java 專案中的原始檔或輸出資料夾。

相關概念

Java 開發工具(JDT)

相關參照

「Java 建置路徑」頁面
JDT 名詞解釋

 
Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.