今天在测试项目时,出现一个异常,源程序运行正常,而打包后的jar通过批处理却运行出错。
批处理程序如下:
@echo off&title SlaveDispatchNode
cd ..
java -cp SlaveDis.jar;lib\*;conf com.dameng.ysc.PlatformServer
pause
找了N久,才发现是网络传输接受数据出错,解析问题,根本原因是jdk版本不一致,对字节流的解析不一样;
接着加了一个jdk路径,改动如下:
@echo off&title SlaveDispatchNode
set path="%cd%"\..\..\..\Tools\jdk1.6.0_10\bin
cd ..
java -cp SlaveDis.jar;lib\*;conf com.dameng.ysc.PlatformServer
pause
然后测试正确了,一个小时后,又出问题了~~~郁闷~~
调了一个多小时,发觉原来程序中有ping命令,返回值为空导致出错~~
额~~经大牛指导,原来是改动了path后,找不到ping命令,因此返回值为空;
纠结的改成了下面的代码:
@echo off&title SlaveDispatchNode
cd ..
"%cd%"\..\..\Tools\jdk1.6.0_10\bin\java -cp SlaveDis.jar;lib\*;conf com.dameng.ysc.PlatformServer
pause
Ok了,运行正确~~好纠结的jdk啊~~~
记录下,以免以后犯错!