由於二進位專案僅存在於工作區中,供編譯和建置期間參照使用,因此使用二進位專案可以使大型企業應用程式的開發作業最佳化。如果在工作區中建置每個項目都要花費一些時間,二進位專案對您的團隊可能會很有幫助。
比方說,如果您的企業應用程式包含二十個 EJB 模組和一個 Web 模組,
如果您每次編譯 Web 模組時並不需要建置所有的 EJB 模組,則 EJB 模組提供者的運作會更有效率。
如果您的開發團隊內有明確的工作區分,二進位專案就能運作順暢。請注意,使用二進位專案會增加開發程序的複雜度,因此最適用於大規模的應用程式。如果您的應用程式比較小,建置時間不成問題,請以程式碼的形式來保留專案。
當您匯入選取併入專案建置路徑和 Meta 資料檔選項來匯出的 EAR 時,會建立二進位專案。如果在匯入期間,您選取匯入進行 EAR 的局部開發,您可以選擇要將哪些專案匯入成二進位專案。對於二進位 Web 專案,工作台仍會展開 Web 專案中的 Java™ 程式碼。
依預設,二進位專案會停用驗證建置器。依預設,二進位 Web 專案會停用鏈結建置器和驗證建置器。
如果需要在匯入期間建立二進位專案的相關資訊,請參閱匯入企業應用程式 EAR 檔。
二進位專案結構
以下是定義二進位專案的規則:
- Java
建置路徑沒有程式碼儲存器。
- 專案只有正好一個 JAR 在建置路徑中,且已經匯出。
- 載入 EJB 和應用程式用戶端模組的 JAR 之 Meta 資料資源(如 ejb-jar.xml),供「專案瀏覽器」視圖或唯讀編輯器顯示它們。
- 作為來源專案,除了關閉驗證器之外,Web 專案的結構是相同的。
使用二進位專案的流程
對於使用程式碼控制(如 CVS)的團隊而言,正常程序包括:
- 執行夜間建置作業,或匯出含有程式碼的 EAR 檔。在匯出期間,選取這個選項會併入專案建置路徑和 Meta 資料檔。這會保留模組和 JAR 名稱之間的對映,外部相依關係也會保留下來。
比方說,假設您有相依於外部 JAR 檔(如 xerces.jar)的
Java
專案,並且這個 JAR 在建置路徑中。您可以選取併入選項來確定這個對映會保留下來。
- 之後,個別開發人員就可以利用匯入進行 EAR 的局部開發選項,將 EAR 匯入工作區中。
- 之後,每個開發人員都可以假設他們沒有匯入的專案會連接於儲存庫,而選擇只將特定模組匯入他們的工作區中。否則,開發人員可以用儲存庫中適當的程式碼(開發人員正在開發的程式碼)來取代二進位專案。
二進位專案的特性和限制
- 應用程式用戶端或 EJB 模組內的資源修正會停用。比方說,您無法編輯二進位專案中的部署描述子。
您仍然可以利用適當的編輯器來開啟資源,但檔案會是唯讀的,且會停用小組件。
- EAR 匯入所建立的二進位專案(匯入精靈中的一個選項),是專門設為唯讀專案。您不可以修改二進位專案的內容。
不過,卻可以刪除這個二進位專案,把它換成儲存庫的來源版本。大部分二進位專案的動作都應該停用。如果您是使用二進位專案,請避免執行任何修改專案內容或 JAR 內容的動作。