Erstellen Sie einen Dienst zum Ausführen einer ausführbaren JAR-Datei ohne Drittanbieter

Erstellen Sie einen Dienst zum Ausführen einer ausführbaren JAR-Datei ohne Drittanbieter

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:

  • createist der von SC auszuführende Befehl (dieser Befehlsname ist zum Erstellen eines Dienstes obligatorisch).
  • serviceNameist 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.
  • binpathist 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.
  • optionNamegibt optionale Parameter an, die beschrieben werdenin der Dokumentation

verwandte Informationen