Conheço 2 maneiras de transformar o aplicativo Java em serviço do Windows e ambos não usam
CLASSPATH . Um deles é o Java Service Wrapper da Tanuki Software
. Esta ferramenta usa wrapper.conf onde você pode mostrar diretórios com .jar bibliotecas:# 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
A segunda ferramenta que conheço é JSL:Java Service Launcher . Nesta ferramenta existe o
jsl.ini onde você coloca a linha de comando para executar seu servidor. Ele pode usar java com -cp opção para mostrar a localização de .jar bibliotecas:[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
Em ambas as configurações você pode usar
* para adicionar todos os .jar arquivos ou você pode mostrar esses arquivos um por um (assim como em CLASSPATH ). A princípio, você deve saber o que o Windows está tentando executar. Verifique-o na página de propriedades do serviço. Em seguida, tente localizar sua configuração. Se ele usa uma das ferramentas que eu conheço, você sabe o que mudar. Outras ferramentas provavelmente têm configuração semelhante.