2012-07-11 3 views
9

하나의 IntelliJ 프로젝트에서 두 모듈간에 패키지를 공유하는 방법을 알기 위해 노력하고 있습니다. 올바른 방법을 찾을 수없는 것 같습니다. 나는 이클립스에서 할 수 있다는 것을 알고 있지만, 나는 그것에 익숙하지 않다. 간단히 말해 AppEngine에 연결된 Android 프로젝트에서 만든 것과 동일한 종류의 프로젝트 환경을 재현하려고합니다.IntelliJ에서 모듈간에 Java 패키지 공유?

여기에 내가 그것을 밖으로 놓을 수 최고로은 "문제"의

프로젝트 A.

  • 모듈 1; AppEngine + GWT + 기타
  • 모듈 2;

    • /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
  • ...

, 두 모듈 모두에서 사용하는 몇 가지 동일한 인터페이스와 열거 형이 있습니다. 이제는 동일한 코드를 모두 하나의 패키지에 공유하고 싶으므로 변경 될 때마다 패키지간에 소스를 복사 할 필요가 없습니다 주위에 뭔가.

  • com.example.myproject.shared.interfaces
  • ... 내가 IntelliJ에 당신이 일환으로 여러 콘텐츠 뿌리를 구성 할 수 있습니다 알고

을 com.example.myproject.shared 모듈 구성의 그러나 동일한 IntelliJ Project의 일부인 경우 두 모듈이 동일한 콘텐츠 루트를 공유하는 것으로 보지 않습니다 ...? 내 프로젝트를 구성하는 더 좋은 방법이 있습니까? 아니면 내가 뭔가를 놓치고 ..?

답변

7

당신은 자신의 컨텐츠 루트가있는 다른 모듈에 공유 코드를 움직일 수는 말한다 :

/ProjectA/Module3/src 

다음은 Module3에 Module1의 모두와 모듈 2에 모듈 종속성을 추가.

+0

* ** head-desk ** * 세 번째 모듈을 고려하지 않았습니다 ... 매력처럼 작동했습니다! 감사!! – aheinrich

+0

이 솔루션을 시도했지만 GWT 컴파일과 함께 작동하지 않았습니다. 그것은 서버 코드에서만 작동했습니다. –