Beim Compilieren

1) Fehlermeldung "Error(?, ?): ajc : The import org.nuclos.schema.* cannot be resolved"

Behebung: nuclos-schema → Maven → Generate Sources and Update Folders

2) Fehlermeldungen "Error(?, ?): ajc: * cannot be resolved to a tyoe"

Behebung: nuclos → Maven → Reimport



Beim Starten des Servers

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

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!

 

Beim Starten des Clients

Fehlermeldung "...Error creating bean with name 'org.springframework.context.config.internalAspectJWeavingEnabler': Initialization of bean failed; nested...." beim Starten des Client

Fehlermeldung erscheint kurz vor dem Loginfenster. Nach dem Login friert die Maske ein.



Lösung:


Das Jar-File

 spring-instrument-4.2.5.RELEASE.jar 

in einem beliebigen Verzeichnis ablegen.

Dann dieses File in der Client-Konfiguration unter VM-Arguments referenzieren:

 



Laufzeitprobleme

Unerwartete NullPointerException, bspw. bei mit @Autowired annotierten Feldern

Um Nuclos zu bauen wird der AspectJ-Compiler benötigt. Dieser wird mit der Standardkonfiguration von IntelliJ beim Maven-Import automatisch gesetzt wenn in der pom.xml das Plugin aspectj-maven-plugin verwendet wird.
Wird hingegen der "normale" Java-Compiler (javac) verwendet, kommt es bspw. zu unerwarteten null -Referenzen bei mit @Autowired annotierten Feldern.

Durch die automatische Compilererkennung beim Maven-Import kann es bei Anwesenheit von Maven-Modulen, die nicht AspectJ verwenden, in Abhängigkeit der Reihenfolge des Maven-Imports dazukommen, dass der Compiler unbemerkt auf javac gesetzt wird und oben genannte Probleme auftreten.

Die automatische Compilererkennenung kann in IntelliJ folgendermaßen deaktiviert werden:


Somit ist es allerdings notwendig, dass bei der Neuanlage eines Nuclos-Projekts in IntelliJ der Compiler auf ajc gestellt wird.

  • Keine Stichwörter