Exécuter l'application Java en tant que service


Je voudrais exécuter une application Java en tant que service. Malheureusement, je suis limité en ce que je ne peux pas utiliser quelque chose comme le Java Service Wrapper (qui semble être un excellent outil).

Existe-t-il un moyen d'exécuter un fichier JAR exécutable, en tant que service, sans compter sur des applications externes? J'ai actuellement le service installé, mais il ne démarre pas. C'est là que je suis coincé et je n'ai rien trouvé d'autre sur Google que des informations sur le JSW.

Author: palacsint, 2009-09-10

8 answers

Il y a un clone LGPL du Wrapper de service Java: http://yajsw.sourceforge.net

BTW, IANAL, mais je soupçonne que les gens de JSW répandent FUD, et leur logiciel peut être utilisé pour activer des applications commerciales sous licence GPL, tout comme on peut gzip une application commerciale pour la redistribution. Je pourrais avoir complètement tort à ce sujet, cependant:)

 11
Author: ykaganovich, 2009-09-10 18:16:58

Une autre option, procrun du démon Apache Commons.

Voir http://commons.apache.org/daemon/

 8
Author: cpierceworld, 2012-07-19 09:26:30

Un programme qui doit s'exécuter en tant que service Windows doit fournir certaines fonctions que le gestionnaire de services Windows utilise pour communiquer avec ce service.

Tant qu'il n'y a pas de JVM qui implémente directement ces fonctions (et je n'en connais aucune), vous aurez besoin d'une sorte de wrapper.

J'ai utilisé avec succès srvany pour un service windows basé sur java (Fondamentalement, il permet d'exécuter n'importe quel programme en tant que service Windows et cela fonctionne bien avec java)

 6
Author: Wolfgang, 2009-09-10 17:56:54

Je ne l'ai pas (encore) essayé, mais Launch4j semble pouvoir répondre à vos besoins.

 2
Author: dustmachine, 2009-09-10 16:58:26

Une option de plus winrun4j. la licence est la CPL d'eclipse.

 1
Author: Peter Smith, 2009-09-10 20:09:29

Vous pouvez utiliser NSSM comme ceci:

nssm install MyService "%JAVA_HOME%\bin\java.exe" -jar "path\to\the\file.jar"
 1
Author: Anthony O., 2016-05-24 14:15:35

Le moyen Le plus simple que j'ai trouvé était RunAsService.

Un collègue a recommandé un outil appelé SC, mais je ne l'ai pas essayé.

 0
Author: toba303, 2010-06-18 09:53:10

JSmooth peut le faire, et il est scriptable avec ant.

 0
Author: Thorbjørn Ravn Andersen, 2010-10-11 08:18:52