maven多模块eclipse jetty热部署
想必用过maven的同学都用过maven的多模块功能,多个模块对于解耦和复用代码非常有帮助,使用多模块也易于理解和维护。但是使用多模块在开发过程中也有一些不便之处,比如web模块A以jar包方式依赖模块B,此时如果修改了B,往往需要install B,重启A才能让A引用新的B。如果A项目依赖少,启动时间比较少还好,但是大的应用往往需要几十秒甚至几分钟才能启动完成,这样开发效率就大大降低了。
解决这个问题的方法,无非就是在A内对重新编译的B进行热更新,可是A又是以jar包依赖的B,这就比较麻烦了。
一个办法就是把项目的maven属性"Resovle > 这里输入引用文本dependencies from Workspace projects"勾选上。
这样maven依赖的就不是B打成的jar包而是在workspace中B编译而成的class文件。如果项目比较独立,依赖项目比较少,可以用这种方法。但是项目依赖如果很复杂,有一些依赖不想用本地workspace中的呢?
另一个办法也是仿照第一个方法,我们假设在eclipse中使用的是RunJettyRun插件。
在Webapp Classpath中,取消勾选依赖B。
点击右侧的Add Projects,添加依赖B对应的project,并只勾选target\classes,如此即可(也可以Add External Folder 直接添加classes文件夹)
如果class文件不能热更新,可以在程序参数中添加springloaded(或者jrebel)
-javaagent:E:/Work/springloaded-1.2.3.RELEASE.jar -noverify
转载于:https://my.oschina.net/bfleeee/blog/510089