2017-01-30 43 views
1

実行時にプログラムがjarファイルを置換する場合はどうなりますか?実行時にプログラムがjarファイルを置き換える場合はどうなりますか?

プログラムの実行順序は次です:

  1. テストアプリケーションの実行は、TestNGのFWで起動されます。テスト中のアプリケーションの
  2. のjar-ファイルは、テスト中の
  3. アプリケーションをテストアプリケーションから起動される(最新ビルドをテストする必要があります)...\build-under-test\フォルダに(新しいによって置き換えられ、古いファイル)をダウンロードして更新されます。

「テストアプリケーション」と「テスト中のアプリケーション」が同じJVMで実行されていることがわかります。だから問題は:それはアプリケーションがそれ自身のライブラリファイル(このファイルは実際にはth番目の第3ステップでのみ使用されている)を更新するためのアプリケーションですか? (ステップ1でキャッシュされたjarファイルを使用するか... ???)

+0

試しましたか?通常、JARがクラスパス上にある場合、JARが使用中でロックされているため、JARが上書きされることはありません。エラーメッセージはお使いのOSによって異なります。 –

+0

@FlorianAlbrecht、私はちょうどこれを行うつもりです –

答えて

0

いいえ、これはできません。

エラーが発生しましたFile is already in use

+0

JARファイルをリロードできるカスタムClassLoaderを使用する必要があります... – Ben

+0

@Ben、別の方法を試してみます - テストアプリケーションを開始する前にファイルを更新します –

関連する問題