2012-07-11 89 views
9

我想弄清楚如何在單個IntelliJ項目中的兩個模塊之間共享包,而我似乎無法找到正確的方法來完成它。我知道它可以在Eclipse中完成,但我對它並不十分精通。簡而言之,我試圖重現由AppEngine連接的Android項目創建的同一種項目環境。在IntelliJ中的模塊之間共享Java包?

這裏的 「問題」 是最好的,我可以攤開來

項目A.

  • 模塊1; AppEngine + GWT +其他
  • 模塊2; Android的

每個模塊都有該項目的主目錄中有自己的源代碼目錄:

  • /項目A /模塊1/src目錄
  • /項目A /單詞數/ src目錄

我創建包爲這兩個模塊,並編寫每個所需的各種類。大多數類是獨一無二的模塊/平臺,幷包裝成自己的命名空間

模塊1

  • com.example.myproject.server
  • com.example.myproject.server.domain
  • com.example.myproject.server.services
  • ...

模塊2

  • com.example.myproject.client
  • com.example.myproject.client.activities
  • com.example.myproject.client.fragments
  • ...

然而,我在兩個模塊中都使用了一些相同的接口和枚舉:現在我想讓所有相同的代碼在兩個模塊之間共享,所以我不必在每次更改時在軟件包之間複製源代碼周圍的東西。

  • com.example.myproject.shared
  • com.example.myproject.shared.interfaces
  • ...

我知道的IntelliJ將允許您配置多個內容作爲根部分的模塊配置。但是,如果兩個模塊共享相同的內容根,如果它們屬於同一個IntelliJ項目......?有沒有更好的方法來配置我的項目?或者我錯過了什麼..?

回答

7

您可以移動共享代碼到擁有自己的內容根另一個模塊,說:

/ProjectA/Module3/src 

,然後加上單詞數這兩個模塊1 1和Module2模塊依賴。

+0

* **總檯** *甚至沒有考慮第三個模塊......就像一個魅力工作!謝謝!! – aheinrich 2012-07-11 19:08:15

+0

我已經試過這個解決方案,它不適用於GWT編譯。它僅適用於服務器代碼。 – 2014-04-25 22:03:54