我正在使用Eclipse IDE、Maven和Tomcat作为web服务器开发J2EE web应用程序。我设法将其配置为从eclipse启动和调试,并从工作区和Maven解决依赖关系。
使用Maven构建需要120秒(构建每个模块,然后使用war:inplace部署web应用程序),重新加载也需要120秒。
我的项目结构是一个Maven"复合"项目(在模块中)。当我对现有方法进行更改时,我不需要重新加载,但当我添加1个方法、类、属性等时,我确实需要。
我读到使用JRebel是一种选择,但我负担不起,所以我想知道是否没有其他方法可以在不重新加载完整应用程序的情况下快速更改业务代码。
我还将eclipse设置为不自动重新加载web应用程序,也不自动同步web资源(否则我的服务器检测到更改并开始重新加载)。按需同步资源(单击发布按钮)是很好的,但使用Java代码似乎不起作用。
由于您使用的是Eclipse,请在此处使用sontype中的M2Eclipse插件:http://m2eclipse.sonatype.org.这将把Eclipse编译器创建的类直接导出到Tomcat。无需运行"mvn-clean-compile"或"mvn-clear-package"命令:D
只需对代码进行更改,Eclipse就会立即发布更改。如果更改为一个类文件,您将不得不跳出Tomcat,但在一个不错的intel盒子上使用Java 1.6大约需要4.83324523秒。
不过,请记住,如果您让Eclipse进行构建,并且在它下面调用Maven构建,那么Eclipse将对目标文件夹的内容发生变化的原因感到困惑。您可以通过删除目标文件夹、刷新(f5)项目以及强制在Eclipse内部进行清理来减轻这种情况。