如何使Maven覆盖在Eclipse / Tomcat“无需发布服务模块”模式下工作?

时间:2011-09-11 14:24:54

标签: tomcat m2eclipse war eclipse-wtp

我们正在使用 Eclipse (3.7 / Indigo), Tomcat (6/7)和 m2e-wtp (0.13。 1)。该应用程序使用Maven overlay来重用其他应用程序提供的资源。

当前的情况非常烦人,每个代码更改都会触发重新发布,并且通常需要重新启动服务器。建议in this answer,我想启用服务模块而不发布复选框以使用热代码替换而不是发布。

但是,在此模式下运行时,覆盖的应用程序中的资源不可用。这似乎是由于在m2e-wtp 中缺乏适当的叠加支持所致。 m2e-wtp bugtracker最近提出an issue,但不太可能在不久的将来修复。

在没有发布模式的服务模块中使用叠加层的最佳解决方法是什么?

2 个答案:

答案 0 :(得分:5)

WTP对覆盖的概念一无所知,因此修复它将是棘手的。 WTP中的War Overlay支持已经是一个巨大的黑客攻击。 现在,我打开https://issues.sonatype.org/browse/MECLIPSEWTP-172这可能对你有所帮助。基本上不会自动发布叠加层的更改。

答案 1 :(得分:0)

应该修复afaik:

Fred Bricon added a comment - 09/14/11 11:32 AM

修正了提交45b50868204f。使用MECLIPSE-176删除了服务器模块缓存逐出。因此,新的首选项选项(Window> Preferences> Server> Overlays)只会在修改叠加依赖项时阻止服务器增量发布。

但是,它并没有改变WTP在修改类时重新部署主webapp的事实。