Im folgenden wird beschrieben, wie das Basisprojekt mit Hilfe von IntelliJ eingerichtet werden kann. Nutzen Sie dafür die Ultimate Edition und registrieren Sie sich mit ihrer Uni-Mail-Adresse. Sie erhalten damit ein ganzes Jahr Zugang zur Ultimate Edition. Im folgenden gehe ich davon aus, dass IntelliJ mit den Standardwerten installiert wurde.
Hinweis: Verwenden Sie bitte unbedingt die angegebene Java-Version (Stand: Oktober 2019 ist dies Java 11)
Nach dem Start kann "Checkout from Version Control" und dann im Untermenu "Git" ausgewählt werden.
Achtung! Damit das clonen funktioniert, muss vorher git (https://git-scm.com/) installiert worden sein.
In dem sich nun öffnenden Fenster als URL die URL Ihres Repositories angeben! Das Zielverzeichnis bleibt Ihnen überlassen.
Hinweis:
Sie finden die Clone-URL wie folgt:
- Gehen Sie zu https://git.swl.informatik.uni-oldenburg.de/projects.
- Gehen Sie dann in das Software-Projekt, welches dem aktuellen Jahr entspricht (Also z.B. Software Projekt 2019_20). Dort sollten Sie nun genau ein Repository sehen. Klicken Sie dieses Repo an.
- Auf der Linken Seite sehen Sie eine Menuleiste. Klicken Sie auf den Punkt: "Klonen" (unter dem gelben Icon der zweite Punkt). Kopieren Sie hier die URL die in dem Feld HTTP steht heraus. Dies ist die URL ihres Repositories. Es hat (im Durchgang 19/20) immer die Form: https://git.swl.informatik.uni-oldenburg.de/scm/sp1920/swp19<X>.git wobei <X> durch den Gruppenbuchstaben zu ersetzen ist.
Sie müssen nun (je nachdem, ob Sie sich schon einmal mit dem Repository verbunden haben), ihre Nutzerdaten eingeben. Das sind die selben wie bei Jira und Co. (leider keine Screenshot dafür)
Dann dauert es einige Zeit, in der das Projekt vom Server geladen wird.
Wenn es fertig ist, fragt IntelliJ, ob das Projekt geöffnet werden soll. Geben Sie hier "Yes" an.
Das dauert nun u.U. einige Zeit.
Anschließend lädt IntelliJ die Abhängigkeiten, die in der Maven-Datei definiert sind herunter. Das kann u.U. sehr lange dauern.
Schließlich kann man links oben auf Projekt klicken und sieht dort dann die Module
- Client: Alles, was nur den Client betrifft kommt hierher. Es darf (neben den Bibliotheken) nur Abhängigkeiten zu Klassen aus Common geben
- Common: Hier ist alles drin, was sowohl der Client als auch der Server gemeinsam nutzen. Es darf von hier aus KEINE Abhängigkeiten zu Client oder Server geben.
- Server: Hier ist alles zu finden, was den Server ausmacht. Es darf (neben den Bibliotheken) nur Abhängigkeiten zu Klassen aus Common geben.
Damit ist die Einrichtung abgeschlossen und es kann der Server gestartet werden.
Dazu im Projektexplorer bis zur ServerApp öffnen. Mit der rechten Maustaste auswählen und dann "Run ServerApp.main()" auswählen.
Der Server wird kompiliert und es wird unten in der Console der Server-Log ausgegeben.
Die (roten) Fehlermeldungen stammen von Guava und können ignoriert werden. Wichtig ist die Zeile "Starting Server on port 8889".
WICHTIG! Wenn der Server später auf der ARBI läuft, muss der Port (aktuell in der Klasse ServerApp) entsprechend angepasst werden!
Danach kann nun der Client zum ersten Mal gestartet werden. Hinweis: Dazu bitte die Klasse "Main" verwenden, ansonsten gibt es u.U. Problem mit JavaFX.
Oben rechts kann zwischen den zuletzt gestarteten Programmen gewählt werden. Wählen Sie hier Main aus und dann "Edit Configurations..."
Es öffnet sich ein neues Fenster:
Damit mehr als ein Client gestartet werden kann, müssen Sie die Option "Allow parallel run" aktvieren.
Nun können Sie weitere Clients starten.
Im Basis System finden sich vordefinierte Nutzer: test1-test5 mit den Passworten test1-test5. Im finalen Produkt darf es diese Nutzer nicht mehr geben!
Mögliche Probleme
Es kann wohl passieren, dass IntelliJ nicht richtig erkennt, wo Java-Quellcode liegt (evtl. liegt das auch an dem Groß/Kleinschreib-Fehler in den Modulname?)
In diesem Fall hilft es u.U. unter File - Project Structure- Project Settings - Modules -Sources die entsprechenden Quellverzeichnisse anzugeben: