作为大多数开发人员,我们对方法的主体进行了微小的更改,并希望在不必停止和启动容器的情况下对其进行测试。雄猫。JVM 提供的热交换功能看起来很有希望,我们希望确保 Tomcat 和 Spring 上下文都不会重新加载。当我们有一个单一的模块 maven 项目时,这非常有效。但是,当我们处理风格的多模块 maven web 项目时
kilo
-kilo-business
-kilo-common
-kilo-dao
-kilo-web
并且我们希望更改依赖模块中的类的方法体(例如kilo-business
模块所kilo-web
依赖的模块),热交换会导致重新加载tomcat的上下文,因此也会重新加载spring的上下文。kilo-web
如果对模块本身的类进行了更改,则不会重新加载上下文。这让我相信,因为我有一个现在已经修改的 jar WEB-INF/lib
,Tomcat 处理它的方式与WEB-INF/classes
. 当然,这种推论是经验性的——如果有人能指出真实的来源及其推理,那就太好了。
更重要的是,有什么想法可以避免这种情况发生吗?如果我们有依赖 jar 的内容,这个问题会消失WEB-INF/classes
吗?我无法找到一种方法让 eclipse WTP 插件将依赖项目部署为WEB-INF/classes
.
我们听说过 JRebel 提供的好东西,但想确保充分利用 JVM 本身可以提供的功能。
提前致谢!