怕有些高手看到我的 Java+移植 关键词,立马走人,我特别说明一下:
我要移植的这个程序,原来是针对Windows开发的、有GUI界面的(Swing)、执行定时任务的单机程序,现在为了运行更稳定(Windows机器经常被人重启),要移植到Linux下,而且不再需要GUI界面。
下面是我的需求和思路:
1,理清程序的执行、调用主线(因为距离程序初次开发已经过去若干年了,需要回忆一下);
2,理清UI之外的程序主线,程序主体功能与UI的交互;
3,将UI相关程序弃之不用,新写命令行程序调用程序主体功能;
4,修改后,在Windows上调试通过(因为当年开发时是XP时代,现在是Win7+的时代,有些小区别);
5,在Linux上调试通过。
上述思路在实践过程中,还算比较顺利,毕竟理论上讲,Java程序是天生可“移植”的。所以在移植过程中,主要是一些与OS相关的细节问题处理,有一些事前想到的,有一些没有想到,通通罗列如下:
想到的:
1,路径问题。需要将硬编码的Windows下相对路径,使用File.separator替代;
2,资源释放问题。因为程序执行过程中会写日志,涉及日志文件的释放问题。
在Windows上,需要执行System