From eee8999d92ecd485af6d159ba7323b80fe17623f Mon Sep 17 00:00:00 2001 From: ulrich Date: Tue, 24 Feb 2026 16:35:56 +0000 Subject: [PATCH] Beschreibung der Factory ergaenzt. --- README.md | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dd7fb72..5aa0316 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ ## Abhängigkeiten -neon erfordert die Klassenbibliothek [Gson](https://google.github.io/gson/). +neon erfordert die Klassenbibliothek [nanojson](https://github.com/mmastrac/nanojson). ## Klassenbibliothek herstellen @@ -24,15 +24,43 @@ cd $NEON mkdir classes mkdir dist -$JDK/bin/javac -classpath $JLIB/gson-2.8.6.jar -d classes src/de/uhilger/neon/*.java src/de/uhilger/neon/entity/*.java +$JDK/bin/javac -parameters -classpath $JLIB/nanojson.jar -d classes src/de/uhilger/neon/*.java src/de/uhilger/neon/entity/*.java $JDK/bin/jar -cf dist/neon.jar -C classes . ``` + +**Wichtig**: Die Herstellung muss mit der Compiler-Option `-parameters` erfolgen, damit zur Laufzeit die von neon verwendete Reflection API die Namen von Methodenparametern ausgibt. Ohne die Option -parameters erscheinen anstelle von Namen nur `arg1`, `arg2` usw. Hierfuer gibt es im Code von neon zwar einen Workaround, aber besser ist es, mit den im Code deklarierten Parameternamen zu arbeiten. Die fertig verwendbare Klassenbibliothek liegt anschließend unter `$NEON/dist/neon.jar`. ## Klassenbibliothek verwenden -Zur Verwendung der Klassen von neon wird die Klassenbibliothek in den Classpath des Programmes aufgenommen, von dem aus neon genutzt werden soll. +Zur Verwendung der Klassen von neon wird die Klassenbibliothek `neon.jar` zusammen mit `nanojson.jar` +in den Classpath des Programmes aufgenommen, von dem aus neon genutzt werden soll. + +Ist beispielsweise eine App `MyApp.jar` im Ordner `~/apps/MyApp` gespeichert, die mit Hilfe von +neon einen eingebetteten Webserver einsetzen soll, würde die Klassenbibliothek `neon.jar` in den +Ordner `~/apps/MyApp/lib` gelegt. Ferner wird eine [Serverbeschreibungsdatei](https://uhilger.de/data/pg/neon/anleitung.adoc#srv-desc) benötigt, die z.B. im Ordner `~/apps/MyApp/conf` +gespeichert wird. + +Es ergibt sich folgender Verzeichnisinhalt + +```` +~/apps/MyApp/MyApp.jar +~/apps/MyApp/conf/server.json +~/apps/MyApp/lib/neon.jar +~/apps/MyApp/lib/nanojson.jar +```` + +Die Anleitung von neon beschreibt im Kapitel [Neon starten](https://uhilger.de/data/pg/neon/anleitung.adoc#_neon_starten), wie neon aus einer Anwendung wie `MyApp.jar` heraus gestartet wird. Die App +`MyApp.jar` wird wie ein normales Java-Programm von der Kommandozeile ausgeführt: + +```` +cd ~/apps/MyApp +java -jar MyApp.jar +```` + +Hierbei wird automatisch der Inhalt des Unterverzeichnisses `lib` in `~/apps/MyApp` beim Start der +App einbezogen, wo sich die Klassenbibliotheken `neon` und `nanojson` befinden. ## Lizenz -- Gitblit v1.9.3