
Ich habe eine ausführbare JAR-Datei für Spring Boot, die durch den Aufruf von „java -jar filename.jar“ in jeder Eingabeaufforderung ausgeführt werden kann.
Ich möchte einen Dienst erstellen, ohne für den obigen Codeausschnitt externe Bibliotheken herunterzuladen.
Helfen Sie mir, wenn es einen direkten Weg gibt.
Antwort1
Einfach (und empfohlen): Herunterladen und verwendenNSSM. Oder verwenden Sie SC, um einen Dienst ohne Downloads zu erstellen.
Verwenden von SC zum Erstellen eines Dienstes über die Befehlszeile
Der SC-Befehl kommuniziert mit dem Windows Service Controller und installierten Diensten. Wenn er mit der Befehlsoption create verwendet wird, können Sie damit einen Windows-Dienst erstellen, unter dem Ihre Binärdatei ausgeführt wird. Aber die Binärdateimusserstellt werden (So weiß Windows, dass es API-Aufrufe respektiert und korrekte Statusinformationen liefert).
Der Befehl „SC Create“ verwendet das folgende Format:
sc create serviceName binpath="path\to\java.exe path\to\.jar" optionName= optionValue...
Wo:
create
ist der von SC auszuführende Befehl (dieser Befehlsname ist zum Erstellen eines Dienstes obligatorisch).serviceName
ist der Name des zu erstellenden Windows-Dienstes. Dies ist der Name, der dem Dienstschlüssel in der Registrierung zugewiesen wird. Beachten Sie, dass sich dieser Name vom Anzeigenamen unterscheidet.binpath
ist der (obligatorische) Parameter, der den Pfad zur Win32/x64-Binärdatei angibt. Beachten Sie, dass ein Leerzeichenmusszwischen dem Binpath-Parameter und seinem Argument verwendet werden. Sie sollten das Argument auch in Anführungszeichen setzen.optionName
gibt optionale Parameter an, die beschrieben werdenin der Dokumentation