簡體   English   中英

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

[英]Java: Latest version of file (modified during execution of program) not being used

我正在編寫一個程序,該程序從服務器導入文件aClass.java,將其保存在我的項目中,進行編譯,然后在以后使用它。 但是有時服務器上的文件被修改,完成后我的程序也會修改我項目中已有的文件,這就是問題所在:如果服務器上的文件進行了修改,當我運行程序時,第一次它會更新我的文件,但它仍然使用舊版本,直到我第二次運行它時,它才使用較新版本。

我想到了一些解決此問題的方法,它們是:

  • 嘗試以編程方式強制我的程序重新啟動,這樣,當我第一次運行它時,在過程的中間,它會重新啟動,因此考慮了最新版本->我無法找到執行該操作的方法
  • 更新完成后,初始化同一個類的對象,從中調用我的main方法->這里的代碼再次使用舊版本,因此這不能解決問題
  • 我嘗試使用addShutdownHook嘗試執行與上面相同的操作:初始化同一類的另一個對象,然后通過它調用main方法->我得到以下異常“線程“ AWT-Windows”中的異常” java.lang.IllegalStateException:關機中”
  • 我創建了另一個類,作為我正在使用的類的副本,然后在更新文件后嘗試調用它,得到的結果與上述相同

有人對此問題有解決方案嗎? 提前致謝

經過研究,我發現此鏈接非常有幫助。 我使用其中給出的示例在我的代碼中重新加載了類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM