2017-02-08 1 views
0

In meinem Javalite-Projekt habe ich meine Modelle, Controller, Konfigurationsdateien und andere Klassen. Ich möchte einige der Teile in diesem Projekt wiederverwenden, da ich in meinen anderen Javalite-Projekten die gleichen Modelle verwenden möchte, aber ich möchte meine Modellklassen nicht einfach kopieren, einfügen oder umschreiben. Ist es möglich, meine Modellklassen in ein Maven-Repo zu legen und dieses Repo einfach zu importieren, wenn ich die Modelle in meinen Javalite-Projekten verwenden möchte? Ich möchte auch einige meiner Controller wiederverwenden, also frage ich auch das gleiche für die Controller.Kann ich verschiedene Teile eines Javalite-Projekts in separaten Maven-Repos ablegen?

+0

Verwenden Sie die anderen Projekte/Module als Abhängigkeiten? – khmarbaise

+0

Err, "ja natürlich". Aber wie weit du gehen willst, beeinflusst drastisch, wie viel Arbeit das sein wird. Soll das nur auf einer Entwicklungsmaschine geschehen, oder möchten Sie dies für mehrere Entwicklungsmaschinen/-standorte einrichten? – Gimby

+0

@khmarbaise Der Grund, warum ich das gefragt habe, ist, weil für ein ActiveJDBC (ein Modul von Javalite), um richtig zu arbeiten, alle Modellklassen innerhalb eines bestimmten Pakets in den Quellordner gelegt werden. Ich war mir nicht sicher, ob die Definition der Modulklassen unter einem Submodul gut mit der Architektur zusammenhängt. – halileohalilei

Antwort

0

JavaLite-Projekte sind Maven-Module und als solche können Sie ein komplexeres Maven-Projekt mit voneinander abhängigen Untermodulen erstellen. Tatsächlich ist fast jedes JavaLite-Projekt, das ich erstelle, so aufgeteilt. Hier ist, wie wir Module strukturieren:

root module 
    | 
    +-- common 
    | 
    +-- web-customer-ui 
    | 
    +-- web-internal-admin 
    | 
    +-- web-rest-api 
    | 
    +-- another_module 

Typischerweise alle diese Module wollen die gleiche Datenbank zugreifen zu können, so dass die ActiveJDBC Modelle werden in common platziert. Die common wird auch gemeinsame Dienste und andere von anderen Apps freigegebene Util-Klassen hosten (Sie wissen, .. common stuff :)).

Dann gibt es Web-Apps - das sind ActiveWeb-Projekte mit ihren jeweiligen Controllern, Ansichten, usw. Jede der Web-Apps ist auf gemeinsame und wird die gleichen Dienste und Modelle verwenden.

Wir teilen keine Controller über verschiedene Web-Apps, auch wenn deren Namen und Funktionen gleich sind.

Ich hoffe es hilft

+0

Dank Igor, ich werde versuchen, dies mit einem Dummy-Projekt zu tun und sehen, ob das ist, was ich mit meinem Projekt machen möchte. – halileohalilei

Verwandte Themen