在Java代码运行时重新编译并重新运行它

时间:2012-04-09 01:58:33

标签: java compiler-construction

在Unix环境中,如果我正在运行Java代码并且我想用不同的参数重新运行它,我可以重新编译它而不会丢失数据吗?以前的Java任务是否仍然可以运行而不会卡住?

干杯, 西蒙

1 个答案:

答案 0 :(得分:3)

您可以使用不同的(命令行)参数运行相同java程序的多表实例,而无需重新编译。

运行同一程序的不同版本并在运行时重新编译是可能的,但是如果在程序运行时修改类文件,如果该文件尚未加载,则可能会影响当前运行时。 您应该创建类文件或jar文件的另一个工作副本,然后在修改它之后启动副本,如果您想要同时运行两个不同的版本。 如果您的程序修改可以更改为属性文件或其他配置文件mod,我认为这是一个更好的解决方案。