Ich versuche herauszufinden, wie ich Pakete zwischen zwei Modulen in einem einzigen IntelliJ-Projekt teilen kann, und ich kann nicht den richtigen Weg finden, es zu tun. Ich weiß, dass es in Eclipse gemacht werden kann, aber ich bin nicht sehr versiert damit. Kurz gesagt, ich versuche, die gleiche Art von Projektumgebung zu reproduzieren, die von mit AppEngine verbundenen Android-Projekten erstellt wurde.Gemeinsame Nutzung von Java-Paketen zwischen Modulen in IntelliJ?
Hier ist das "Problem", so gut ich es heraus legen kann
Projekt A.
- Modul 1; AppEngine + GWT + was auch immer
- Modul 2; Android
Jedes Modul hat sein eigenes Quellverzeichnis im Hauptverzeichnis des Projektes:
- /ProjectA/Module1/src
- /ProjectA/Module2/src
I Pakete erstellen für beide Module und schreibe die verschiedenen benötigten Klassen für jedes. Die meisten Klassen sind einzigartig für das Modul/Plattform und verpackt werden in ihre eigenen Namensraum
Modul 1
- com.example.myproject.server
- com.example.myproject.server.domain
- com.example.myproject.server.services
- ...
Modul 2
- com.example.myproject.client
- com.example.myproject.client.activities
- com.example.myproject.client.fragments
- ...
jedoch Es gibt einige identische Interfaces und Enums, die ich in beiden Modulen verwende: Jetzt möchte ich meinen gesamten identischen Code in einem einzigen Paket haben, damit ich nicht jedes Mal, wenn ich es ändere, die Quelle zwischen den Paketen kopieren muss etwas herum.
- com.example.myproject.shared
- com.example.myproject.shared.interfaces
- ...
Ich weiß, IntelliJ ermöglicht es Ihnen, mehrere Content-Roots als Teil zu konfigurieren der Konfiguration eines Moduls. Aber es scheint nicht so zu sein, dass zwei Module den gleichen Inhaltsstamm teilen, wenn sie Teil desselben IntelliJ-Projekts sind ...? Gibt es eine bessere Möglichkeit, mein Projekt zu konfigurieren? Oder vermisse ich etwas ..?
* ** Head-Desk ** * dachte nicht einmal an ein drittes Modul ... arbeitete wie ein Charme! Vielen Dank!! – aheinrich
Ich habe diese Lösung ausprobiert und es hat nicht mit der GWT-Kompilierung funktioniert. Es funktionierte nur für den Servercode. –