2017-01-30 450 views
1

如果程序將在運行時替換jar文件,會發生什麼情況?如果程序將在運行時替換jar文件會發生什麼?

程序的執行順序是下一個:

  1. 測試應用程序的執行下TestNG的FW開始。
  2. ...\build-under-test\文件夾(需要測試最新版本)下載並更新(舊文件被新文件替換)jar文件
  3. 被測應用程序從測試應用程序啓動。

正如你所看到的,測試應用程序和被測試應用程序在同一個JVM中執行。所以問題是:應用程序是否可以更新它自己的庫文件(這個文件實際上僅用於第三步)? (它會在第1步中使用緩存的jar文件或... ???)

+0

你試過了嗎?通常,如果JAR位於類路徑中,那麼您將無法覆蓋它們,因爲它們正在使用並被鎖定。錯誤消息將取決於您的操作系統。 –

+0

@FlorianAlbrecht,我只是要做到這一點 –

回答

0

不,我們不能這樣做。

有一個錯誤File is already in use

+0

你需要使用自定義ClassLoader,它可以重新加載JAR文件... – Ben

+0

@Ben,我要嘗試另一種方式 - 在啓動測試應用程序之前更新文件 –

相關問題