Tôi biết 2 cách để biến ứng dụng Java thành dịch vụ Windows và cả hai cách đều không sử dụng CLASSPATH . Một là Java Service Wrapper by Tanuki Software
. Công cụ này sử dụng wrapper.conf nơi bạn có thể hiển thị các thư mục với .jar thư viện:
# 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
Công cụ thứ hai mà tôi biết là JSL:Java Service Launcher
. Trong công cụ này có jsl.ini nơi bạn đặt dòng lệnh để chạy máy chủ của mình. Nó có thể sử dụng java với -cp tùy chọn để hiển thị vị trí của .jar thư viện:
[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
Trong cả hai cấu hình, bạn có thể sử dụng * để thêm tất cả .jar hoặc bạn có thể hiển thị từng tệp một (giống như trong CLASSPATH ).
Lúc đầu, bạn nên biết những gì Windows đang cố gắng thực thi. Kiểm tra nó trong trang thuộc tính dịch vụ. Sau đó, cố gắng bản địa hóa cấu hình của nó. Nếu nó sử dụng một trong những công cụ mà tôi biết thì bạn biết phải thay đổi điều gì. Các công cụ khác có thể có cấu hình tương tự.