在现实中,我们总会遇到一些自己搞不定的问题,甚至自己从没有考虑过的问题,但是又不可避免其发生。
在Windows系统中,有时需要我们这些做程序的启动一些命令以保证服务的正常运行,可是你的命令窗口又不能关闭 < (-_-) 最讨厌这种了>。如果你遇到了突然关机、或自动重启等一些情况,服务是不是就中断了呢,答案毋庸置疑,工作日还好,周末就很麻烦了。有木有心累的赶脚~~~
话又说回来了,百度不是有很多方法么,而且电脑本身也可以设置自启动呀,可是小编试了好久各种方法都用了,在用户没有登录的情况下,命令依然没有办法启动。没关系啦,今天教你一招,周末再也不用担心服务挂掉了。(这里主要是以Word转换服务的启动命令为例)
正常情况下我们只需要在放置jar包的目录下正常启动命令并且保持命令窗口是打开状态的即可
但是总会出现意外的嘛,于是同事推荐了一篇外国人写的文章(虽然英文不好,但仔细看还是可以看懂点的),发现一个可以解决不登录情况下启动命令的新方法。
首先要把启动命令做成一个文件(只要可以手动启动命令即可),我这边呢做成了一个批处理文件,如果不会的话可以百度一下有前人的很多经验哦。。。
①以start_cs.bat命名,@echo on和pause固定在开头和结束行中间写执行命令所在的路径
②可以执行一下看看命令要确保可以正确的执行哦
其次,我们需要下载一个辅助工具,最新版的 Windows Service Wrapper 程序
①下载winsw.exe(winsw-1.9-bin.exe这才是下载后显示的本名好不啦),然后重命名(什么鬼,还要重命名!直接省略掉了)②将下载的winsw-1.9-bin.exe复制放到放置start_cs.bat文件的目录下(同一级)③在此目录下在创建一个xml配置文件,文件名要和winsw-1.9-bin.exe程序名保持一致哦(红色部分的文字根据你的实际情况填写)
第三,在cmd中执行D:\oa>winsw-1.9-bin.exeinstall命令,将其安装成为Windows服务。在我的电脑 右键==》管理==》服务 查看是否已将start_cs.bat添加为服务。
第四,在Windows服务列表中看到start_cs服务,右键==》属性==》常规==》设置 将该服务设置为自动启状态即可
虽然命令已经转换为了系统服务,可是还是要重启电脑测试一下才可以放心滴~
惊喜与坑
重启电脑后服务确实是可以启动的,已启动服务可以在D:\oa下看到有日志记录(惊不惊喜,意不意外,居然还可以记录日志)
第一启动时虽然也起来了,但访问时确实也报了错了(太实在了)
调用jacob时报com.jacob.com.ComFailException:
VariantChangeType failed
解决办法:
C:\windows\System32\config\systemprofile(32位操作系统)或者
C:\Windows\SysWOW64\config\systemprofile(64位操作系统)下新建一个Desktop文件夹即可
终于,问题解决!!!