| | |
| | | |
| | | ## Abhängigkeiten |
| | | |
| | | neon erfordert die Klassenbibliothek [Gson](https://google.github.io/gson/). |
| | | neon erfordert die Klassenbibliothek [nanojson](https://github.com/mmastrac/nanojson). |
| | | |
| | | ## Klassenbibliothek herstellen |
| | | |
| | |
| | | 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 |
| | | |