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

标签 java file version

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

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

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

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

最佳答案

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

关于Java:未使用最新版本的文件(在程序执行期间修改),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208911/

相关文章:

Java 棋盘棋子显示不正确

ios - 如何使用 Titanium 检索用户的 iOS 版本

java - 如何向工具栏添加抽屉导航切换

java - HashMap 与 ArrayList

file - 使用 awk 连接两个文件

android - 声明 URL 的正确方法?

python - 拆分列并写入单独的输出文件

java - 删除IntelliJ中的 "Project SDK"配置

tfs - 识别 Team Foundation Server 的版本

java - 在两个 Activity 之间传输数据