Ich habe eine SpringBoot-Anwendung, für die ich gradle :myapp:jar
verwenden, um eine ausführbare jar zu generieren. Außerdem musste ich chmod 755 myapp.jar
verwenden, um das jar ausführbar zu machen.Fehler beim Ausführen von SpringBoot Jar mit init.d
Dies ist der gradle Code für das Glas zu erzeugen, as described here:
springBoot { ausführbare = true }
springBoot {
executable = true
}
jar {
baseName = 'myapp'
version = '0.1.0'
manifest {
attributes "Main-Class": "eu.myapp.Application"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
ich dann einen symbolischen Link erstellen, um Init.d, as described here zu verwenden, um Start/Stopp/Status. Der Befehl, den ich den Symlink erstellen bin Ausführung ist dies:
sudo ln -fs myjar.jar /etc/init.d/myjar
Danach kann ich tun:
sudo /etc/init.d/myapp start
Das Problem ist, dass, wenn ich diesen Befehl ausführen, ich die folgende Fehlermeldung erhalten:
/etc/init.d/myapp: 1: /etc/init.d/myapp: PK: not found
/etc/init.d/myapp: 2: /etc/init.d/myapp�z�H: not found
/etc/init.d/myapp: 3: /etc/init.d/myapp: Syntax error: ")" unexpected
sucht es online auf, it appears to be related to a shebang issue, die durch Zugabe von #!/bin/bash
am Anfang der Datei festgelegt werden kann. Wie auch immer, da ich eine .jar
erzeugt von gradle
, wo soll ich diese Zeile hinzufügen? Alternativ, wie kann ich den obigen Fehler beheben?
Der Befehl bootRepackage hat es geschafft, danke! In der Tat wird auch der ausführbare = wahre Teil benötigt; Ich hatte das schon, aber vergaß es zu erwähnen (jetzt aktualisiert). –