JVerein - Wie kann es weitergehen?

JVerein-Benutzer diskutieren über Erweiterungswünsche

Moderator: heiner

guckuck
Beiträge: 40
Registriert: Freitag 19. Oktober 2018, 12:42
Verein: Förderverein einer Kita
JVerein-Version: 2.8.18
Betriebssystem: MacOS 10.15.x

Re: JVerein - Wie kann es weitergehen?

Beitrag von guckuck »

Hallo zusammen,

ich bin gerade dabei, Eclipse für das Projekt einzurichten. Allerdings komme ich mit dem Plugin nicht weiter. Das Ant-Script erstellt zwar problemlos neue Versionen des Plugins, aber die Installation in Jameica schlägt (meistens) fehl. Ich erhalte dann folgende Fehlermeldung:

Code: Alles auswählen

java.lang.ClassNotFoundException: loader.jameica: class not found: de.jost_net.JVerein.JVereinPlugin
Mindestens zweimal hat es aber funktioniert, dann nach einem Update nicht mehr, selbst wenn ich das Working-Directory lösche.

Generell die Frage: Wie habt ihr eure Testumgebung eingerichtet? Wie ist der schnellste Weg, eine funktionierende Testumgebung einzurichten? Wie startet ihr Jameica? Aus Eclipse heraus?

Viele Grüße
Kay
Benutzeravatar
hibiscus
Beiträge: 120
Registriert: Donnerstag 31. Mai 2018, 08:55

Re: JVerein - Wie kann es weitergehen?

Beitrag von hibiscus »

guckuck
Beiträge: 40
Registriert: Freitag 19. Oktober 2018, 12:42
Verein: Förderverein einer Kita
JVerein-Version: 2.8.18
Betriebssystem: MacOS 10.15.x

Re: JVerein - Wie kann es weitergehen?

Beitrag von guckuck »

Hallo,

danke, diese Seite kenne ich schon. Ich habe jetzt herausgefunden, dass es ausreicht, die jar-Datei im Pluing-Verzeichnis auszutauschen.

Laut Anleitung kann man auch direkt auf das Plugin-Verzeichnis im release-Pfad verlinken. Das Problem ist nur, dass das ANT-Script immer ein neues Verzeichnis anlegt, auch wenn ich nur das JAR erzeuge und die Dev-Version (fast). Wie kann man das beheben? Muss ich das BUILD-Script anpassen?

Dann sieht mein Workflow aktuell so aus: ANT-Script von jverein laufen lassen. Die JAR im Plugin-Verzeichnis von Jameica ersetzen und Jameica aus Eclipse heraus starten. Hibiscus ist dann bereits installiert.

Viele Grüße
Kay
Benutzeravatar
hibiscus
Beiträge: 120
Registriert: Donnerstag 31. Mai 2018, 08:55

Re: JVerein - Wie kann es weitergehen?

Beitrag von hibiscus »

Die JAR-Datei auszutauschen, ist keine saubere Lösung. Verlinke in der "de.willuhn.jameica.system.Config.properties" auf den Projekt-Ordner von Jverein. Also in den Ordner, in dem sich die Unterordner src, bin, lib usw. befinden. Dann lädt Jameica direkt die von Eclipse nach "bin" compilierten Klassen und du hast auch Hotcode-Replacement. Das heisst, du kannst in Jverein Code ändern und siehst sofort die Änderung, ohne Jameica neu starten zu müssen. Wichtig ist, dass du mit "jameica.plugin.dir.0=../jverein" den korrekten relativen Pfad findest - beginnend vom Jameica-Projektordner in Eclipse. Wenn Jameica und JVerein direkt nebeneinander liegen, reicht "../jverein". Ansonsten halt ggf. "../../jverein", wenn JVerein eine Ebene höher liegt. Unter https://www.willuhn.de/wiki/doku.php?id=develop:eclipse ist das aber alles beschrieben.
guckuck
Beiträge: 40
Registriert: Freitag 19. Oktober 2018, 12:42
Verein: Förderverein einer Kita
JVerein-Version: 2.8.18
Betriebssystem: MacOS 10.15.x

Re: JVerein - Wie kann es weitergehen?

Beitrag von guckuck »

Super, das scheint funktioniert zu haben. Ich musste das Verzeichnis für Plugins von dem User-Verzeichnis auf das Programm-Verzeichnis ändern.

Hotcode-Replacement hat auf Anhieb noch nicht funktioniert. Verstehe ich das richtig, dass ich in Eclipse die Klassen einfach speichern muss und zur Laufzeit von Jameica werden die Klassen verwendet? Habe testweise nur ein sysout geändert.
Benutzeravatar
hibiscus
Beiträge: 120
Registriert: Donnerstag 31. Mai 2018, 08:55

Re: JVerein - Wie kann es weitergehen?

Beitrag von hibiscus »

guckuck hat geschrieben: Freitag 28. Oktober 2022, 17:24 Hotcode-Replacement hat auf Anhieb noch nicht funktioniert. Verstehe ich das richtig, dass ich in Eclipse die Klassen einfach speichern muss und zur Laufzeit von Jameica werden die Klassen verwendet? Habe testweise nur ein sysout geändert.
Ja, genau das bedeutet Hotcode-Replacement. Die Änderung wird sofort wirksam. Java ersetzt hierbei zur Laufzeit - sobald du die Datei gespeichert hast - die Klasse gegen die neue. Das geht allerdings nicht ubegrenzt. Wenn z.B. neue Methoden hinzukommen oder sich Methoden-Signaturen ändern, dann musst du Jameica neu starten. Wenn das Hotcode-Replacement nicht funktioniert hat, zeigt dir Eclipse das aber auch an. Wichtig ist, dass du Jameica in Eclipse mit "Debug" startest und nicht mit "Run".
guckuck
Beiträge: 40
Registriert: Freitag 19. Oktober 2018, 12:42
Verein: Förderverein einer Kita
JVerein-Version: 2.8.18
Betriebssystem: MacOS 10.15.x

Re: JVerein - Wie kann es weitergehen?

Beitrag von guckuck »

Super, vielen Dank, das hat wunderwar geklappt.

Mein erster Pull-Request ist online. Er bezieht sich auf folgenden Fehler: viewtopic.php?t=7150 bzw. https://github.com/openjverein/jverein/issues/20
guckuck
Beiträge: 40
Registriert: Freitag 19. Oktober 2018, 12:42
Verein: Förderverein einer Kita
JVerein-Version: 2.8.18
Betriebssystem: MacOS 10.15.x

Re: JVerein - Wie kann es weitergehen?

Beitrag von guckuck »

Während der letzten beiden Tage, als ich mich in den Code und das Problem eingearbeitet, habe ich mir mehrmals gewünscht, es gäbe eine direktere Art der Kommunikation (Signal, Telegram, IIRC, Discord etc.). Nun weiß ich nicht, wie aktiv ihr seid. Aktuell gibt es einige offene Pull-Requests. Dennoch dir Frage, wie ihr dazu steht? Prinzipiell wurde mir auch hier sehr schnell geholfen. Danke nochmal. :-)
FullHD
Beiträge: 8
Registriert: Samstag 6. November 2021, 12:25

Re: JVerein - Wie kann es weitergehen?

Beitrag von FullHD »

Hallo zusammen,

ich bin leider kein Experte in Github und würde mich daher freuen, wenn ihr mir sagt wie man mein Anliegen am besten umsetzen könnte:
Vor einiger Zeit hat hier im Forum jemand eine Lösung für die Notwendigkeit von "Belegnummern", die abweichend von der automatischen Nummerierung z.B. in meinem Verein gebraucht werden, entwickelt und veröffentlicht https://github.com/jverein/jverein/pull/62

Ich habe manuell jetzt alle Änderungen über den Editor in meine Version übertragen, sodass ich das Feature zum Glück mit OpenJVerein weiter nutzen kann.
Da ich an unterschiedlichen Betriebssystemen arbeite, habe ich jetzt eine Windows Version mit Belegnummern und eine ohne.

Meine Frage: Wie kann man die von VinRud entwickelte Lösung jetzt am besten zur Integration in JVerein vorschlagen?
guckuck
Beiträge: 40
Registriert: Freitag 19. Oktober 2018, 12:42
Verein: Förderverein einer Kita
JVerein-Version: 2.8.18
Betriebssystem: MacOS 10.15.x

Re: JVerein - Wie kann es weitergehen?

Beitrag von guckuck »

Hallo FullHD,

also, vermutlich müssten wir eine Patch des PullRequest bei OpenVerein einspielen und dann die Änderungen in Ruhe testen. Es handelt sich ja um mehrere Änderungen. Erschwerend kommt hinzu, dass auch die Code-Formatierung geändert wurde, sodass es sehr viele unwesentliche Änderungen gibt.

Ich versuche zumindest den ersten Teil (Patch einspielen und als PullRequest bei OpenVerein hinzufügen) umzusetzen. Dann müssten wir das noch ausführlich testen.

Edit: Hat funktioniert. Es gibt nun einen Pull Request in OpenVerein, den wir uns anschauen und testen können.

Viele Grüße
Kay
Antworten