2012-07-11 15 views
9

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

ここで最高の私はそれをレイアウトすることができます

プロジェクトA.

  • モジュール1のように "問題は" です。 AppEngine + GWT +その他
  • モジュール2;

Androidの各モジュールは、プロジェクトのメインディレクトリ内で独自のソースディレクトリを持っています

  • /PROJECTA/Module1を/ srcに
  • /PROJECTA /モジュール2/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
  • ...

、私は両方のモジュールで同じインタフェースと列挙型を使用しています:今では、同じコードをすべて同じパッケージで共有したいので、変更するたびにパッケージ間でソースをコピーする必要はありません何か周り。

  • は、私はIntelliJのは、あなたがその一部として、複数のコンテンツルーツを設定することができます知っている...

  • com.example.myproject.shared.interfaces
  • をcom.example.myproject.sharedモジュールの構成について説明します。しかし、同じIntelliJプロジェクトの一部であれば、2つのモジュールが同じコンテンツルートを共有しているようには見えません。私のプロジェクトを設定する良い方法はありますか?または私は何かを逃している..?

  • 答えて

    7

    あなたは、独自のコンテンツルートを持つ別のモジュールに共有コードを移動することができ、言う:

    /ProjectA/Module3/src 
    

    、その後はModule1をし、モジュール2の両方にモジュール3上のモジュールの依存関係を追加します。

    +0

    * **ヘッドデスク** * 3つ目のモジュールを考慮していない...魅力的なように働いた!ありがとう!! – aheinrich

    +0

    私はこのソリューションを試してみましたが、GWTコンパイルではうまく動作しませんでした。これはサーバーコードでのみ機能します。 –

    関連する問題