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ự.