Maven和IntelliJ

February 21, 2013 · One minute read

为了搞定集群部署,我把负责核心帮助系统功能的模块,也就是Eclipse插件、目录服务、页面分析和搜索引擎,分离成单独的模块。这样,根据服务器的角色,就能在核心模块上搭载不同的功能模块,并通过优化过的流程控制来驱动这些终端服务。尽管使用开关似乎更简单一些,但代码的可读性和可维护性就要差些,也不符合OO的原则。唯一的问题在于IntelliJ对于Maven模块的支持似乎不太好。在内建服务器上调试,不会自动导入更新的模块,哪怕重新启动服务器也不行。由于Maven的JAR包是通过拷贝,而不是直接倒入类路径,在IntelliJ上调试很麻烦。在Eclipse上就没有这个问题,项目依赖会优先于Maven的JAR,而且通过类路径导入Web应用。所以服务器调试还是使用Eclipse会更加方便一些。