Je connais 2 façons de transformer l'application Java en service Windows et les deux n'utilisent pas CLASSPATH
. L'un est Java Service Wrapper par Tanuki Software
. Cet outil utilise wrapper.conf
où vous pouvez afficher les répertoires avec .jar
bibliothèques :
# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1
wrapper.java.classpath.1=c:\jars\*
wrapper.java.classpath.2=myservice.jar
Le deuxième outil que je connais est JSL :Java Service Launcher
. Dans cet outil il y a jsl.ini
où vous mettez la ligne de commande pour exécuter votre serveur. Il peut utiliser java avec -cp
option pour afficher l'emplacement de .jar
bibliothèques :
[defines]
MY_LIBS=d:\jars\*
AXIS_LIBS=d:\axis2-1.5.4\lib\*
CLASSPATH=.;%MY_LIBS%;%AXIS_LIBS%
export = CLASSPATH
...
[java]
...
cmdline = -Dfile.encoding=utf8 -cp %CLASSPATH% example.my.server
Dans les deux configurations, vous pouvez utiliser *
pour ajouter tous les .jar
fichiers ou vous pouvez afficher ces fichiers un par un (comme dans CLASSPATH
).
Au début, vous devez savoir ce que Windows essaie d'exécuter. Vérifiez-le dans la page des propriétés du service. Essayez ensuite de localiser sa configuration. S'il utilise l'un des outils que je connais, vous savez quoi changer. D'autres outils ont probablement une configuration similaire.