我的目标是用 DCEVM/Hotswap 代替 JRebel 来代替使用 Maven 构建的 Tomcat 项目。我相信它正在检测我的类文件更改并适当地处理它们。但是,它没有检测资源更改。
我开始假设它会加载 JVM 通常会加载的所有内容。接下来,我添加了一个 hotswap-agent.properties 文件,但也没有让它工作。
热插拔-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 文件。
我想要一些消息,说明它检测到资源的变化和适当的消息。