本地win7系统模拟服务器部利用WinSW部署spring boot项目都是正常的,因为项目是基于jdk1.8的,server2008服务器只有1.6,所以先安装了1.8。运行出现has value '1.8',but'1.6' is required错误,WinSW报的错误,明显是要求jdk版本问题,所以把环境变量配到1.6,但是还是报错,又根据网上的答案各种改Path什么的,又删除System32下得java*文件,还是报错,不是报“has value '1.8',but'1.6' is required”就是报“Unsupported major.minor version 52.0”,第二个很显然是项目jdk版本要求1.8。弄了一上午,突然发现本地环境jdk环境变量也是1.6,但是运行也不报错。最后弄了半天才解决,以下是问题归结
1:经过多种测试发现一个结论,jdk1.8得某些java共有文件不兼容WinSW。
2:如果你项目是1.6支持,那么就没有这么多事了,偏偏我的项目是maven的,还要求jdk版本
解决办法:所以最简单的办法就是安装完1.8后再安装1.7或者1.6(1.6未测试),然后1.7会覆盖某些java公共文件,这样再运行WinSW就成功了
回顾:本地之前没有问题的原因应该是先安装的1.6然后1.8最后才安装了1.7所以不会暴露这个问题,发现问题方法其实就是最原始的BUG复现,删除了本地的1.7、1.8然后从新安装1.7、1.8发现本地也出现报错。这就排除了服务器环境问题,毕竟本地win7服务器server2008.然后回忆之前安装流程,就出现了这个项目,最后安装1.7发现解决了。具体1.8和WinSW哪里冲突我也说不上来,反正这样就解决了