| Auszug | ||
|---|---|---|
| ||
Nuclos Regelcode Maven: codegenerator, pom.xml, Entwicklungsmodus, JDK 8, IntelliJ, CODEGENERATOR_POM_LIBDIR, 4.30. |
Sprache: Deutsch · English
Geschäftsregeln als Maven-Projekt entwickeln – automatisch generierte pom.xml, Entwicklungsmodus und Java-8-SDK.
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | |||||
|---|---|---|---|---|---|
| |||||
Auf dieser Seite
|
...
|
Ab Nuclos
...
4.30
...
lassen sich Geschäftsregeln
...
bequem als Maven-Projekt in einer IDE
...
einbinden. Nuclos generiert
...
dazu automatisch eine pom.xml unter <NUCLOS-HOME>/data/codegenerator.
...
...
...
...
...
codegenerator-Verzeichnis liegt auf dem Entwicklungsrechner...
CODEGENERATOR_POM_LIBDIR, ...
…_...
AXIS_LIBDIR und ...
…_EXTENSION_LIBDIR sind konfiguriert...
...
| Info | ||
|---|---|---|
| ||
Betreiben Sie Nuclos mit normalen Benutzerrechten (nicht als Dienst), um Zugriffsprobleme zu vermeiden. Hilft es nicht, kann das Löschen des |
codegenerator-Verzeichnis auswählen (IntelliJ erkennt es als Maven-Projekt).Vorlagen: pom.xml ohne Extension und pom.xml mit Extension.
| Info | ||||
|---|---|---|---|---|
| ||||
Es ist auch ratsam Nuclos mit normalen Benutzerrechten zu installieren und zu betreiben, nicht als Dienst. Ansonsten könnte es Probleme mit den Berechtigungen und den Zugriff auf die Dateien geben. Auch kann es unter Umständen helfen das codegenerator Verzeichnis zu löschen und beim nächsten Start vom Server neu erstellen zu lassen. |
Die aktuelle Anleitung wurde getestet mit Nuclos 4.2024.8 und IntelliJ IDEA 2024.1.1 (Community Edition)
Neues Projekt anlegen.Wählen Sie das codegenerator Verzeichnis aus. Normalerweise befindet sich in <NUCLOS-HOME>/data Ihrer Installation.Gefundenes codegenerator Projekt bestätigen.
Wichtig, der Server sollte im Hintergrund ausgeführt werden. Nur dann ist sichergestellt, das auch alle verwendeten Bibliotheken gefunden werden.
Über das Menü
Run → Attach to Process...
können Sie sich mit dem Server verbinden. Dies ermöglicht einerseits das Debuggen Ihrer Regeln über Breakpoints, als auch Änderungen direkt in die laufenden VM zu übernehmen.
Über das Menü
Build → Build Project...
wird eine Neukompilierung der Regeln angestoßen.
Nach Bestätigen der Rückfrage (siehe Screenshot) werden die geänderten Klassen ohne Umwege sofort an die laufende VM übermittelt. Dies geschieht über den Debug Port.
Die Kompilierung schlägt mit folgender Meldung fehl? Error: java: JDK isn't specified for module 'codegenerator'
Dann müssen Sie das SDK neu setzen. Lesen Sie hier wie Sie am besten vorgehen.
Um Konflikte mit dem Nuclos Compiler zu vermeiden (automatisch erzeugte Klassen werden ncht gefunden) sollte die Option "Delegate IDE build/run actions to Maven" aktiviert werden.
Eine andere Lösung ist, die Automatische Kompilierung in Nuclos zu deaktivieren, dies erfordert aber ein Neuladen der Regeln vom Dateisystem (siehe nächster Schritt).
Alternativ (ab Nuclos 4.53) können Sie über den Button Importiere Dateiänderungen (Ergebnisliste der Regeln) Änderungen an Dateien direkt eingelesen werden.
Dies ist z.B. hilfreich, wenn der Server in einer VM (oder Docker Container) betrieben wird und die automatische Überwachung von Dateiänderungen nicht greift, da die Dateien möglicherweise auf einem "Share" Laufwerk abgelegt werden (im Falle von Docker z.B. auf dem volume /opt/nuclos/home/data/codegenerator)
Die Möglichkeit zu debuggen und die Code Completion einer IDE wird Ihre Produktivität deutlich steigern. Probieren Sie es aus!
Viel Spaß
Dateikonflikte:
Beim gleichzeitigen Arbeiten in Nuclos und der IDE kann es sein, dass Nuclos eine neuere Version einer Regel erzeugt, die die in der IDE gemacht Änderungen rückgängig machen würde. In dem Fall muss der Dateikonflikt zugunsten der in intelliJ bearbeiteten variante aufgelöst werden ("Keep Memory Changes" bzw. Alt+K).
Um das Auftreten solcher Konflikte zu reduzieren, kann die Autosave-Funktion von intelliJ weitgehend deaktiviert werden. Änderungen können dann wenn nötig per Strg+S auf das Dateisystem geschrieben werden.
Nicht immer erkennt eine IDE schnell genug das sich Sourcecode geändert hat, in diesem Fall sollte ein Reimport durch Maven Abhilfe schaffen.
Ein typisches Beispiel wäre ein Wechsel des Datenbank Schemas mit einem ganz anderem Nuclet, oder nach dem Einspielen eines Datenbank Dumps.
Sie erhalten die obige Fehlermeldung beim kompilieren der Regeln?
Dann tragen Sie das JDK erneut ein. Dieser Fehler kann bei einem ganz neuen Projekt oder auch wenn Sie das JDK ändern auftreten.
Gehen Sie wie folgt vor:
Im Menü
File → Poject Structure...
aufrufen
Das Project SDK einmal leeren mit dem Eintrag <No SDK> → Apply
Und wieder wie hier im Beispiel 1.8 auswählen → OK