Versionen im Vergleich

Schlüssel

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


Panel
borderColorgrey
borderWidth1
borderStylesolid
titleLernziel
In diesem Tutorial lernen Sie, wie Sie ein Nuclos-Projekt in die Entwicklungsumgebung IntelliJ IDEA einbinden.
Panel
borderColorgrey
borderWidth1
borderStylesolid
titleVoraussetzungen

Inhalt
maxLevel2

 

SP Page Status
textDokumentenstatus


 

 

Bevor Sie mit der Konfiguration von IDEA beginnen, müssen Sie sowohl das git-Repository des Projekts (im folgenden Projekt-git), als auch das git-Repository des Nuclos-Kerns (im folgenden Kern-git) klonen.

Wechseln Sie nun im git zu dem Tag des Kerns, welcher der Nuclos-Version der Projekt-Installation entspricht (git checkout).

 

Nun sind Sie bereit, die Konfiguration von IDEA anzugehen.

Richten Sie maven ein: File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven

Öffnen Sie das Projekt (Projekt-git) in IDEA: File -> Open...

Importieren Sie das Maven Projekt (ein Popup sollte erscheinen).

Lassen Sie Maven die Quellen generieren.

Bauen Sie das Modul.

Nun kann der Kern-giteingebunden werden. Öffnen Sie zu diesem Zweck die Modul-Einstellungen:

Hier kann der Kern-git importiert werden (Import Module):

Sobald das Modul geladen ist, navigieren Sie ins Verzeichnis /[Pfad zu Kern-git]/nuclos-war/src/main/webapp/META-INF/.

Hier finden sie eine Datei context-template.xml - Erstellen Sie eine Kopie der Datei im selben Verzeichnis und nennen Sie diese context.xml.

Passen Sie nun die vier value-Parameter (von context.xml) an, so dass diese auf die entsprechenden Konfigurationsdateien zeigen, die sich im Verzeichnis ihres installierten Nuclos-Projekts (Projekt-Installation) befinden.

Nun können Sie auch für den Kern die Quellen mit Maven importieren und das Modul bauen.

 

Um den Server einzurichten, gehen Sie auf Run -> Edit Configurations... :

 
 Erstellen Sie einen neuen Tomcat-Server: 
 

Konfigurieren Sie diesen:

Application Serverdas Tomcat-Verzeichnis von Projekt-Installation (z.B.: /[Pfad zum Projekt]/nuclos-isd/tomcat/apache-tomcat-7.0.72)
VM Options-Dfunctionblock.dev=true -mx1024m
Deploy at server startupAdd -> Artifact... -> nuclos-war-exploded
Application context/nuclos-war
 
Hinweis
Bitte beachten: Das folgende "Before launch" ist nicht unbedingt nötig, wenn alles richtig konfiguriert ist. IntellIJ kopiert das context.xml beim Build korrekt in das entsprechende target Verzeichnis. Der Fehler tritt auch genau dann auf, sobald zwei context.xml in den Target-Verzeichnissen liegendeplyed werden. Da hilft das Folgende nicht, im Gegenteil, es verschärft das Problem.

Zusätzlich muss auch noch ein External Tool unter Before launch eingerichtet werden. Dieses kopiert die zuvor eingerichtete context.xml in ein bestimmtes Verzeichnis.

Programcp
Parameter (durch Leerzeichen getrennt)

/[Pfad zu Kern-git]/nuclos-war/src/main/webapp/META-INF/context.xml

/[Pfad zu Kern-git]/nuclos-war/target/nuclos-war/META-INF

Working directoryJe nachdem, wie die Parameter-Pfade angegeben sind. Wenn hier z.B. /[Pfad zu Kern-git]/ angegeben ist, sind die Paramter nur /nuclos-war/.../

Der Server kann jetzt gestartet werden.

 

Es kann sein das beim Start der folgende Fehler kommt, dann muss im Terminal das Projekt mit "mvn clean" nochmals gesäubert werden.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.filterChainProxy': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: A universal match pattern ('/**') is defined before other patterns in the filter chain, causing them to be ignored. Please check the ordering in your <security:http> namespace or FilterChainProxy bean configuration

 Weiterer wichtiger Hinweis: Damit "mvn clean" wirklich hilft, muss das "war" als Modul in der pom.xml eingetragen sein. Für Nuclos-Core ist das gegeben, bei einem Extension-Projekt muss das eventuell noch eingetragen werden!

Wenn das Nuclos-Projekt über server-extensions verfügt und/oder auf einer Oracle-Datenbank basiert, ist ein weiterer Schritt notwendig:

Die ojdb6.jar (Oracle.db) und alle .jar - Extensions ([Pfad zu Projekt-Installation]/extensions/server bzw. [Pfad zu Projekt-Installation]/extensions/common) müssen ins Tomcat-lib-Verzeichnis kopiert werden (/[Pfad zu Projekt-Installation]/tomcat/apache-tomcat-7.0.72/lib).

Abschließend muss noch der Client erstellt werden:

 

Konfiguration des Clients:

Main classorg.nuclos.client.main.Nuclos
VM options (Port muss ggf. angepasst werden)

-ea
-Xmx768m
-Dserver=http://localhost:8080/nuclos-war
-Dfunctionblock.dev=true
-Dsun.awt.disablegrab=true

Use classpath of modulenuclos-client