日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

java程序服务不能启动不了_JavaService.exe注册的windows服务无法启动问题

發(fā)布時(shí)間:2025/3/11 windows 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java程序服务不能启动不了_JavaService.exe注册的windows服务无法启动问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近開發(fā)了個(gè)java程序,打成 jar 包想要在windows后臺(tái)運(yùn)行,于是使用JavaService.exe進(jìn)行windows服務(wù)注冊(cè),服務(wù)注冊(cè)很成功,但是在啟動(dòng)時(shí)顯示“服務(wù)無法啟動(dòng)”,為此耗費(fèi)了大量的時(shí)間與精力,終于發(fā)現(xiàn)問題所在,特此記錄。

為了排除各種干擾因素,專門開發(fā)了個(gè)簡單的java程序用于測(cè)試,查找問題原因。測(cè)試程序非常簡單,就是循環(huán)打印當(dāng)前時(shí)間,如下所示:

點(diǎn)擊(此處)折疊或打開

package com.example; import java.time.LocalDateTime; public class demo { public static void main(String[] args) { do {

System.out.println(LocalDateTime.now()); try {

Thread.sleep(1000);

} catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace();

}

} while (true);

}

}

接下來,打 jar 包 test.jar(打包方法不是重點(diǎn),省略)

有了 jar 包,開始注冊(cè)windows服務(wù),服務(wù)注冊(cè)成功,結(jié)果如下:

點(diǎn)擊(此處)折疊或打開

C:\Users\xxx\Desktop\JavaService-2.0.10>JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll -Djava.class.path=C:\Users\xxx\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M -start com.example.demo

The test automatic service was successfully installed

啟動(dòng)服務(wù),報(bào)錯(cuò):“test 服務(wù)無法啟動(dòng)”

點(diǎn)擊(此處)折疊或打開

C:\Users\xxx\Desktop\JavaService-2.0.10>net start test

test 服務(wù)正在啟動(dòng) .

test 服務(wù)無法啟動(dòng)。

服務(wù)沒有報(bào)告任何錯(cuò)誤。

請(qǐng)鍵入 NET HELPMSG 3534 以獲得更多的幫助。

程序是可以正常運(yùn)行的,使用 .bat 批處理腳本也可以啟動(dòng),但是使用JavaService.exe注冊(cè)的服務(wù)就是無法啟動(dòng)。

測(cè)試程序沒有使用任何第三方庫,排除庫相關(guān)的問題;檢查JAVA_HOME環(huán)境變量,沒有問題;JAVA_HOME環(huán)境變量中存在空格問題,加雙引號(hào)即可(即命令行中的

"%JAVA_HOME%"),不是這個(gè)問題;cmd.exe是以管理員身份運(yùn)行的,不是管理員權(quán)限問題。各種辦法都試過了,開始懷疑JavaService.exe有bug或者版本兼容問題,找到下載地址,這個(gè)程序最新版2.0.10都是2007年的,都十多年了,不可能有這樣嚴(yán)重的bug這么多年過去了程序還沒更新,2.0.10版網(wǎng)上有人也在用,也沒說有問題啊!最后看到有人用JavaService_2_0_10-amd64這個(gè)版本,找來試試吧,死馬當(dāng)活馬醫(yī)了,結(jié)果這一試不要緊

,居然啟動(dòng)成功了!

如果使用的是64位版本的Java,JavaService.exe也要用64位版本,切記!!!JavaService.exe下載頁面的文件排列順序很讓人無語,下載過好幾次都沒有注意到64位版本的存在,尤其是我使用的2.0.10版,64位版本竟然在最下邊,不拉到底根本就看不到!

補(bǔ)充:測(cè)試程序 demo 的服務(wù) test 啟動(dòng)成功,但自己實(shí)際要運(yùn)行的程序還是不能啟動(dòng),原因是 JavaService?-start

參數(shù)設(shè)置不對(duì),我的程序是個(gè)springboot項(xiàng)目,啟動(dòng)類是“org.springframework.boot.loader.JarLauncher”,-start

參數(shù)改過來就好了。

最后,附上JavaService.exe下載地址:

總結(jié)

以上是生活随笔為你收集整理的java程序服务不能启动不了_JavaService.exe注册的windows服务无法启动问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。