Java:未使用的最新版本的文件(在程序执行期间修改)

时间:2015-07-03 14:14:55

标签: java file version

我正在编写一个从服务器导入文件aClass.java的程序,将其保存在我的项目中,编译然后再使用它。但有时服务器上的文件被修改,完成后我的程序也会修改我项目中的文件,这就是问题:如果对服务器上的文件进行了修改,那么当我运行程序时第一次它所有它更新我的文件,但它仍然使用它的旧版本,直到我第二次运行它使用较新的版本。

我想到了几个解决这个问题的解决方案,它们是:

  • 尝试以编程方式强制重新启动我的程序,这样当我第一次运行它时,在它重新启动的过程中,因此考虑了最新版本 - >我无法找到如何做到这一点
  • 更新完成后初始化同一个类的对象,从中调用我的main方法 - >在这里,我的代码再次使用旧版本,因此无法解决问题
  • 我尝试使用addShutdownHook,其中我尝试了与上面相同的操作:初始化同一个类的另一个对象,然后通过它调用main方法 - >我得到了以下异常“线程中的异常”AWT-Windows“java.lang.IllegalStateException:Shutdown in progress”
  • 我创建了另一个类,它是我正在使用的类的副本,然后我在更新文件后尝试调用它,我得到与上面相同的结果

有没有人能解决这个问题? 提前致谢

1 个答案:

答案 0 :(得分:0)

经过一番研究,我发现this link非常有帮助。我使用其中给出的示例在我的代码中重新加载类