10

1つのIntelliJプロジェクトで2つのモジュール間でパッケージを共有する方法を見つけようとしていますが、正しい方法が見つからないようです。Eclipseで実行できることは知っていますが、あまり詳しくありません。一言で言えば、AppEngineに接続されたAndroidプロジェクトによって作成されたのと同じ種類のプロジェクト環境を再現しようとしています。

これが私がレイアウトできる最善の「問題」です

プロジェクトA。

  • モジュール1; AppEngine +GWT+その他
  • モジュール2; アンドロイド

各モジュールには、プロジェクトのメインディレクトリ内に独自のソースディレクトリがあります。

  • / ProjectA / Module1 / src
  • / ProjectA / Module2 / 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
  • ..。

ただし、両方のモジュール内で使用する同一のインターフェイスと列挙型がいくつかあります。1つのパッケージ内のすべての同一のコードを2つの間で共有したいので、毎回パッケージ間でソースをコピーする必要はありません。私は何かを変えます。

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

IntelliJでは、モジュールの構成の一部として複数のコンテンツルートを構成できるようになることを私は知っています。しかし、2つのモジュールが同じIntelliJプロジェクトの一部である場合、2つのモジュールが同じコンテンツルートを共有しているようには見えません...?プロジェクトを構成するためのより良い方法はありますか?または私は何かが欠けていますか..?

4

1 に答える 1

8

共有コードを、独自のコンテンツルートを持つ別のモジュールに移動できます。たとえば、次のようになります。

/ProjectA/Module3/src

次に、Module3へのモジュール依存関係をModule1とModule2の両方に追加します。

于 2012-07-11T07:05:30.717 に答える