Ultrakompakter HTTP Server
ulrich
yesterday eee8999d92ecd485af6d159ba7323b80fe17623f
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