Знам 2 начина за превръщане на приложението Java в услуга на Windows и двата не използват CLASSPATH
. Единият е Java Service Wrapper от Tanuki Software
. Този инструмент използва wrapper.conf
където можете да показвате директории с .jar
библиотеки:
# 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
Вторият инструмент, който познавам, е JSL:Java Service Launcher
. В този инструмент има jsl.ini
където поставяте командния ред, за да стартирате вашия сървър. Може да използва java с -cp
опция за показване на местоположението на .jar
библиотеки:
[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
И в двете конфигурации можете да използвате *
за да добавите всички .jar
файлове или можете да показвате тези файлове един по един (точно както в CLASSPATH
).
Първо трябва да знаете какво се опитва да изпълни Windows. Проверете го в страницата със свойства на услугата. След това опитайте да локализирате конфигурацията му. Ако използва един от инструментите, които познавам, тогава знаете какво да промените. Други инструменти вероятно имат подобна конфигурация.