私の目標は、Maven で構築された Tomcat プロジェクトの JRebel を DCEVM/Hotswap に置き換えることです。クラスファイルの変更を検出し、適切に処理していると思います。ただし、リソースの変更は検出されません。
私は、JVM が通常行うすべてのものをロードするという仮定から始めました。次に、hotswap-agent.properties ファイルを追加しましたが、それも機能しませんでした。
hotswap-agent.properties
extraClasspath=
watchResources=src/main/resources
LOGGER=debug
watchResources= と watchResources=true も試しました
「watchResources」の形式がどうあるべきかは明確ではありません。
IP 上の理由から、公開フォーラムに完全なログ ファイルを貼り付けることはできませんが、次のように表示されました。
HOTSWAP AGENT: 14:21:27.546 DEBUG (org.hotswap.agent.util.classloader.WatchResourcesClassLoader) - Watching directory 'file:/C:/Software/src/main/resources' for changes.
HOTSWAP AGENT: 14:21:27.547 INFO (org.hotswap.agent.watch.nio.TreeWatcherNIO) - Registering directory target C:\Software\src\main\resources via watched: C:\Software\src\main\resources
HOTSWAP AGENT: 14:21:27.547 DEBUG (org.hotswap.agent.watch.nio.TreeWatcherNIO) - WATCHING: ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY - fileTree,high C:\Software\src\main\resources
興味深いことに、私のファイルは C:\Software\src\main\resources ではなく、C:\Repos\myproject\src\main\java と c:\Repos\myproject\src\main\resources のような場所にあります。
重要な場合、リソースは MyBatis マッパー XML ファイルです。
リソースの変更が検出されたことを示すメッセージと適切なメッセージが必要です。