Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Auszug
hiddentrue

Nuclos Regelcode Maven: codegenerator, pom.xml, Entwicklungsmodus, JDK 8, IntelliJ, CODEGENERATOR_POM_LIBDIR, 4.30.

globe with meridians Sprache: Deutsch · English

hammer and wrench Regeln als Maven Projekt in einer IDE einbinden

Geschäftsregeln als Maven-Projekt entwickeln – automatisch generierte pom.xml, Entwicklungsmodus und Java-8-SDK.

Status
colourPurple
titleHow-to
Status
colourBlue
titleEntwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel

...

2

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.

Voraussetzungen

...

...

  • Server

...

  • läuft lokal

...

  • (das

...

  • codegenerator-Verzeichnis liegt auf dem Entwicklungsrechner

...

  • ) – oder CODEGENERATOR_POM_LIBDIR,

...

  • _

...

  • AXIS_LIBDIR und

...

  • _EXTENSION_LIBDIR sind konfiguriert

...

  • ;

...

  • Server läuft im Entwicklungsmodus;
  • IDE mit Maven-Unterstützung (Beispiel: IntelliJ IDEA Community Edition);
  • ein Java 8 JDK (idealerweise dasselbe wie der Server).
Info
titleBerechtigungen

Betreiben Sie Nuclos mit normalen Benutzerrechten (nicht als Dienst), um Zugriffsprobleme zu vermeiden. Hilft es nicht, kann das Löschen des codegenerator-Verzeichnisses (Neuerstellung beim Serverstart) helfen.

Vorgehen

  1. Neues Projekt anlegen und das codegenerator-Verzeichnis auswählen (IntelliJ erkennt es als Maven-Projekt).
  2. „Maven-Projekte automatisch importieren“ aktivieren.
  3. Server im Hintergrund laufen lassen – nur dann werden alle Bibliotheken gefunden.
  4. Fehlendes SDK (Java 8) über den Plus-Button hinzufügen und den Wizard abschließen.

Vorlagen: pom.xml ohne Extension und pom.xml mit Extension.

Verwandte Seiten

gear Einbindung von Regelcode in IntelliJ


IntelliJ.

Öffnen →

gear Tutorial: Einbinden von Nuclos in IntelliJ IDEA


Kern.

Öffnen →

wird im Entwicklungsmodus betrieben (Siehe Installation fortgeschritten)
  • Eine IDE Ihrer Wahl mit Maven Unterstützung. Hier im Beispiel wird die IntelliJ IDEA Community Edition verwendet.
  • Info
    iconfalse
    titleBerechtigung

    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.

    Stand:

    Die aktuelle Anleitung wurde getestet mit Nuclos 4.2024.8 und IntelliJ IDEA 2024.1.1 (Community Edition)

    Neues Projekt anlegen.Image RemovedWählen Sie das codegenerator Verzeichnis aus. Normalerweise befindet sich in <NUCLOS-HOME>/data Ihrer Installation.

    Image Removed

    Intellij erkennt dieses Verzeichnis automatisch als Maven Projekt an.Image Removed*Import Maven projects automatically" wurde hier zusätzlich ausgewählt.

    Image Removed

    Gefundenes codegenerator Projekt bestätigen.

    (Warnung) Wichtig, der Server sollte im Hintergrund ausgeführt werden. Nur dann ist sichergestellt, das auch alle verwendeten Bibliotheken gefunden werden.

    Image Removed

    Beim ersten Start wird vermutlich noch ein SDK fehlen. Derzeit benötigt Nuclos ein Java JDK der Version 8. Über den Plus-Button können Sie eines hinzufügen. Am besten verwenden Sie das Gleiche womit auch der Server betrieben wird.

    Image Removed

    So sollte es dann mit ausgewählten SDK aussehen.

    Image Removed

    Der Name kann so übernommen werden. Schließen Sie den Wizard mit Finish ab.

    Image Removed

    Im Projekt Fenster können Sie nun zu Ihren bereits geladenen Regeln navigieren. Durch den Import und das Erkennen als Maven Projekt sind bereits alle Abhängigkeiten korrekt gesetzt.

    Image Removed

    Ü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.

    Image Removed

    Eine Auswahl mit den laufenden Java Prozessen wird angezeigt. Wählen Sie Ihren Nuclos Server aus. Standardmäßig lautet der Debug Port 8000.

    Image Removed

    Nun können Sie mit Hilfe von Breakpoints komfortabel Ihre Regeln debuggen.

    Image Removed

    Ü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.

    Image Removed

    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).

    Image Removed

    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)

    Image Removed

    Image Removed

    Ein kleiner Test für eine zusätzliche Ausgabe in das Server.log war in unserem Beispiel erfolgreich.

    Die Möglichkeit zu debuggen und die Code Completion einer IDE wird Ihre Produktivität deutlich steigern. Probieren Sie es aus!

    Viel Spaß (Zwinkern)

    Probleme mit der IDE?

    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.

    Image RemovedImage Removed

    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.

    Image Removed

    Error: java: JDK isn't specified for module 'codegenerator'

    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

    Im Anschluss sollten Ihre Regeln wieder kompilieren.