把Gitblit变成Windows服务
第一步:试错
下载完Gitblit GO 1.8.0 for Windows 解压后运行installService.cmd 华丽的看到一串信息 然后,再看看服务列表:木有小gg~~
第二步:解剖
打开installService.cmd文件,无视那些@REM 可以看到
SET ARCH=amd64
"%CD%\%ARCH%\gitblit.exe" //IS//gitblit
--DisplayName="gitblit"
--Description="a pure Java Git solution"
--Startup=auto
--LogPath="%CD%\logs"
--LogLevel=INFO
--LogPrefix=gitblit
--StdOutput=auto
--StdError=auto
--StartPath="%CD%"
--StartClass=org.moxie.MxLauncher
--StartMethod=main
--StartParams="--storePassword;gitblit;--baseFolder;%CD%\data"
--StartMode=jvm
--StopPath="%CD%"
--StopClass=org.moxie.MxLauncher
--StopMethod=main
--StopParams="--stop;--baseFolder;%CD%\data"
--StopMode=jvm
--Classpath="%CD%\gitblit.jar"
--Jvm=auto
--JvmMx=1024
这样一串命令行文件,显然最核心的是 "%CD%%ARCH%\gitblit.exe" 因为ARCH=amd64 所以它是指gitblit的目录在amd64子目录中的gitblit.exe文件。似乎它罢工了
仔细盘查户口发现:原来它是黑户口,由一个叫prunsvr的程序冒充的!
第三步:重构
到户口所在地查了一下,这货是一个叫Apache Commons Daemon的项目就是把java注册成Windows服务的工具,其中tomcat的windows版就是它的杰作。并且发现新的一版是1.0.15,而gitblit里的是1.0.10,于是拿下最新版(下载地址隐藏在 •browse download area 这个链接中,并不是下载那些jar文件) 复制到gitblit的amd64文件夹中,然后把installService.cmd和uninstallService.cmd中的gitblit.exe 改成 prunsvr.exe
第四步:炫耀
在兼容性上选择以管理员方式运行prunsvr.exe 然后再次运行installService.cmd 随后gitblit出现在服务列表中 启动服务
完美
转载于:https://my.oschina.net/u/1773598/blog/744309
上一篇: 【Java学习】Java多线程知识总结
下一篇: windows下把nginx注册成服务