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.