Я знаю 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. Проверьте это на странице свойств сервиса. Затем попробуйте локализовать его конфигурацию. Если он использует один из известных мне инструментов, то вы знаете, что изменить. Другие инструменты, вероятно, имеют аналогичную конфигурацию.