window环境下,通过DOS命令模式,调用bat脚本,执行jar包。可以正常打印jar包中的日志都指定日志文件。
通过tomcat部署的某服务去调用时出现不可调用,也不打印日志问题。
分两步来确定问题:
1、参数是否传递给bat脚本;
2、bat脚本中的java -jar 是否正常执行了;
问题1通过,在bat脚本入口处增加 echo name:%1 age:%2 >> test.log
将tomcat调用bat传递的2个参数打印到test.log中。
问题2通过,调整可能报错不打印日志问题,重点2>&1 这个能保证调用jar报错信息也可正常输入到test.log文件。
java -jar test.jar %1 %2 >> test.log 2>&1
在test日志中收集到错误为Error: Unable to access jarfile test.jar
最终修改bat脚本,将jar路径指定为绝对路径(最好为纯英文,无特殊字符路径)
java -jar C:\Dell\test.jar %1 %2 >> test.log 2>&1