2011-05-16 14 views
0

我正在處理一個真正應該被編碼爲2個獨立項目的Java項目。因此,我試圖找到一種將每個子項目的代碼拆分爲自己的新項目的好方法。有2個構建文件可以構建和打包每個子項目。因此,是否有一種好方法可以檢索每個構建文件所需的所有資源和文件的列表,從而分離出我的項目?通過build.xml依賴性拆分Java項目

編輯:

我發現清單* .MF每個構建文件相關的文件,這些文件同時指定Main-ClassClass-Path。從Class-Path,我可以確定每個新項目需要哪些JAR文件。這些都是隻運行其各自主要類的應用程序,所以如果我確定主類的相關類,則確定我在新項目中需要的類。

下面是該我目前的計劃:根據清單

  1. 複製舊項目進入一個新的項目
  2. 刪除不使用的構建文件,清單* .MF文件和未使用的JAR
  3. 刪除基於未使用的主要文件清單
  4. 使用的IntelliJ的內置功能,手動完成對文件和方法來檢查,如果他們任何地方引用刪除1 * 1,如果他們不。

我猜4步可以提高對...

UPDATE:

我現在已經完成分離出我的項目。我最終使用了IntelliJ的「Analyze Dependencies ...」(在10.0.3中它位於「Analyze」菜單下)。對於那些擁有該工具的用戶,默認情況下,它只搜索深度較大的依賴項1,因此請注意這一點並根據需要設置更大的深度。然後,您可以突出顯示核心類,它會向您顯示這些類依賴於指定深度的所有文件。在我的情況下,一個子項目的主要文件之一引用了另一個子項目的主文件,所以通過消除這個依賴關係,我可以將65個以上的文件作爲依賴關係刪除。

上述解決方案行之有效我,但我不喜歡說「你必須買這個工具,你想要做什麼......」於是,我讓這個問題在一個開放的希望開放來源解決方案。

回答

1
  • 依賴關係:
    您可以創建2個項目,既指所有的原始罐子原來的項目(依賴)的。此時你指的是兩個項目中的一些不必要的罐子。然後,您可以使用建議here的工具來檢測這些不必要的罐子,並在每個項目中刪除這些罐子。

  • 資源(如xml配置文件):
    也許有一些工具在那裏,但我不知道。希望你沒有那麼多的配置文件等,如果是這樣的話,手動複製可能是最快的方法。

+0

感謝您的建議。我發現了MANIFEST *。爲每個構建指定類路徑上的JAR的MF文件,但我可以使用您的建議來確定在那裏指定的JAR是否不需要。對於其他資源和文件(主要是在這裏討論Java自定義類),我正在尋找主類依賴哪些類並將其手動分開的路徑。 – Briguy37 2011-05-17 13:33:56