Znam 2 sposoby na przekształcenie aplikacji Java w usługę Windows i oba nie używają CLASSPATH
. Jednym z nich jest Java Service Wrapper firmy Tanuki Software
. To narzędzie używa pliku wrapper.conf
gdzie możesz pokazać katalogi za pomocą .jar
biblioteki:
# 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
Drugie znane mi narzędzie to JSL:Java Service Launcher
. W tym narzędziu znajduje się jsl.ini
gdzie umieszczasz wiersz poleceń, aby uruchomić serwer. Może używać javy z -cp
opcja pokazywania lokalizacji pliku .jar
biblioteki:
[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
W obu konfiguracjach możesz użyć *
aby dodać wszystkie .jar
pliki lub możesz pokazać te pliki jeden po drugim (tak jak w CLASSPATH
).
Na początku powinieneś wiedzieć, co Windows próbuje wykonać. Sprawdź to na stronie właściwości usługi. Następnie spróbuj zlokalizować jego konfigurację. Jeśli korzysta z jednego ze znanych mi narzędzi, to wiesz, co zmienić. Inne narzędzia prawdopodobnie mają podobną konfigurację.