Questions & Answers

dehaatbi
Returning Observer

Debugging aus der IDE mit fs-isolated-webrt

Hallo,

es gibt ja die Mรถglichkeit bei der Modulentwicklung mit der IDE zu debuggen indem die Klasse de.espirit.common.bootstrap.Bootstrap gestartet wird. Das ganze ist ja leider nur sehr notdรผrftig dokumentiert. Prinzipiell hat es aber immer irgendwie geklappt.

Jetzt versuche ich aber ein Modul zu debuggen, welches die fs-isolated-webrt benรถtigt als Abhรคngigkeit. Da bekomme ich aber immer Fehlermeldungen beim starten. Ich habe schon festgestellt, dass die Reihenfolge der dependencies in der pom.xml (Maven Projekt) eine Rolle spielt, da sich die Fehlermeldungen unterscheiden.

Wird die fs-isolated-webrt dependency am Ende eingefรผgt gibt es die Fehlermeldung:

java.lang.ClassCastException: class de.espirit.apache.commons.logging.impl.Log4JLogger cannot be cast to class org.apache.commons.logging.Log (de.espirit.apache.commons.logging.impl.Log4JLogger and org.apache.commons.logging.Log are in unnamed module of loader 'app')

 

Wird sie dagegen am Anfang eingefรผgt gibt es die Fehlermeldung:

Exception in thread "main" java.lang.NoClassDefFoundError: sun/swing/plaf/synth/SynthIcon

 

Klappt das Debuggen inklusive fs-isolated-webrt bei irgend jemandem? Sobald ich die dependency komplett raus werfe startet der Site Architect, nur fehlen dann logischerweise die Klassen die ich benรถtige.

 

GruรŸ Tobi

0 Kudos
4 Replies
Windmรผller
Crownpeak employee

Hallo Tobi,


es gibt ja die Mรถglichkeit bei der Modulentwicklung mit der IDE zu debuggen indem die Klasse de.espirit.common.bootstrap.Bootstrap gestartet wird. Das ganze ist ja leider nur sehr notdรผrftig dokumentiert.

Welche Dokumentation meinst Du genau?


Jetzt versuche ich aber ein Modul zu debuggen, welches die fs-isolated-webrt benรถtigt als Abhรคngigkeit. Da bekomme ich aber immer Fehlermeldungen beim starten.

Wenn Du Maven verwendest, wรผrde ich das webrt als "provided" deklarieren. Damit sollte es wรคhrend der Ausfรผhrung des SiteArchitect nicht auf dem Classpath liegen.

Die anderen Probleme sehen mir nach fehlenden Parametern fรผr das Java-Modulsystem aus. Mit welcher Java-Version arbeitest Du?

 

GrรผรŸe

 Stephan

0 Kudos

Hi,

Welche Dokumentation meinst Du genau?

Ja genau das ist das Problem :-D. Ich kenne eigentlich nur diese Seite: https://community.crownpeak.com/t5/Technical-Support-Knowledge-Base/Debugging-direkt-aus-der-IDE/ta-...

Und die ist ja zum einen veraltet und zum anderen steht da nicht viel.

Wenn Du Maven verwendest, wรผrde ich das webrt als "provided" deklarieren.

Das habe ich bereits probiert. Dann kompiliert das Modul zwar, bringt dann aber ClassNotFound Exceptions sobald ich etwas aus dem webrt verwende.

Die anderen Probleme sehen mir nach fehlenden Parametern fรผr das Java-Modulsystem aus. Mit welcher Java-Version arbeitest Du?

Fรผr das Debugging verwende ich immer Java 11. Mit Java 17 bekomme ich andere Fehler, die auch nach Java Modulsystem klingen:

Exception in thread "main" java.lang.IllegalAccessError: class de.javasoft.plaf.synthetica.SyntheticaLookAndFeel (in unnamed module @0x66d2e7d9) cannot access class sun.swing.DefaultLookup (in module java.desktop) because module java.desktop does not export sun.swing to unnamed module

 

Gibt es hier Parameter die helfen? Insgesamt wรคre es glaube ich fรผr Modulentwickler sehr hilfreich wenn der ganze Prozess wie man den Debugger richtig nutzt vernรผnftig dokumentiert wรคre.

 

GruรŸ Tobi

 

0 Kudos


@dehaatbi wrote:

Gibt es hier Parameter die helfen? Insgesamt wรคre es glaube ich fรผr Modulentwickler sehr hilfreich wenn der ganze Prozess wie man den Debugger richtig nutzt vernรผnftig dokumentiert wรคre.


Es ist mรถglich, den SiteArchitect aus der IDE heraus zu starten. Dieses Vorgehen erfordert aber eine Menge Konfiguration, die aufgrund der ร„nderungen in Java auch regelmรครŸig angepasst werden muss. Selbst wenn es eine regelmรครŸig aktualisierte Dokumentation dazu gรคbe, mรผssten Entwickler diese ร„nderungen immer manuell nachziehen.

Ein deutlich stabilerer Weg ist das Debugging รผber den FS-Launcher. Dieser lรคsst sich so konfigurieren, dass er einen Debug-Port fรผr den entsprechenden Client รถffnet. Details findest Du in Kapitel 2.1 der Release-Notes von FirstSpirit 2022.13.

GrรผรŸe

Stephan

0 Kudos

Das klingt vielversprechend. Werde es in den nรคchsten Tagen mal ausprobieren.

Vielen Dank.

GruรŸ Tobi

0 Kudos

Type a product name