Jag känner till två sätt att förvandla Java-app till Windows-tjänst och båda använder inte CLASSPATH
. Den ena är Java Service Wrapper från Tanuki Software
. Det här verktyget använder wrapper.conf
där du kan visa kataloger med .jar
bibliotek:
# 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
Det andra verktyget jag känner till är JSL:Java Service Launcher
. I det här verktyget finns jsl.ini
där du lägger kommandoraden för att köra din server. Den kan använda java med -cp
alternativet för att visa platsen för .jar
bibliotek:
[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
I båda konfigurationerna kan du använda *
för att lägga till alla .jar
filer eller så kan du visa dessa filer en efter en (precis som i CLASSPATH
).
Först bör du veta vad Windows försöker köra. Kontrollera det på tjänstens egenskaper. Försök sedan att lokalisera dess konfiguration. Om den använder ett av verktygen jag känner till vet du vad du ska ändra. Andra verktyg har förmodligen liknande konfiguration.