2017-01-30 449 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,我要尝试另一种方式 - 在启动测试应用程序之前更新文件 –

相关问题