environment variables (2) authored by Rolf Niepraschk's avatar Rolf Niepraschk
# Clojure-Server modifizieren (.jar)
**Anmerkung (2025-01-15):** Unbedingt auch Hinweise [hier](./clojure-jar.md) beachten.
Im Folgenden sollen einige Hinweise zu den `.jar`-Dateien, die aus übersetzten Clojure-Quellen entstehen müssen, um die Serverprozesse `devhub`, `devproxy` und `metis` betreiben zu können.
## Änderungen an Konfigurationsdateien
Die Funktion der Serverprozesse wird durch Eintragungen in Konfigurationsdateien beeinflusst. Nach deren Änderung ist keine Übersetzung von Clojure-Dateien nötig. Man kann daher mit wenig Aufwand die in einer `.jar`-Datei enthaltene Konfigurationsdatei durch eine geänderte austauschen. Das lässt sich sehr leicht mit dem Kommadozeilen-Dateimanger `mc` (»Midnight Commander«) bewerkstelligen. Dazu wechselt man im `mc` in das Verzeichnis, welches die betreffende `.jar`-Datei enthält (z.B. `/usr/local/share/devproxy`), bewegt den Cursor auf die `.jar`-Datei (z.B. `devproxy.jar`) und drückt auf `<Enter>`. Damit landet man im Innern der `.jar`-Datei (Zip-Pseudo-Dateisystem). Nun lässt sich die betreffende Konfigurationsdatei leicht ins reale Dateisystem mit Drücken der Taste `F5` kopieren und dort ändern. Ist die Änderung vollzogen, kann man auf selbem Wege die geänderte Datei wieder ins Innere der `.jar`-Datei kopieren (`<Tab>` wechselt Quelle und Ziel). Wirksam werden die Änderungen nach z.B.
```
systemctl restart devproxy.service
```
## Änderungen an Clojure-Quellcode
Hat man am Clojure-Quellcode Änderungen vollzogen, ist der für Clojure übliche komplette Build-Prozess auszuführen. Hinweise dazu gibt die README-Datei im jeweiligen Repositorium. Zur Vereinfachung kann auch das Skript `make_jar` aufgerufen werden:
```
./make_jar
```
Der Build-Prozess erfordert eine korrekt konfigurierte Clojure-Umgebung. Derzeit (2023/2024) ist sie nur auf dem Büro-Rechner von Thomas (`i75422`, Account `thomas`) gegeben und sollte aber möglichst auch an anderem Ort unter anderem Account lauffähig werden.