我能够做到这一点,一切都很好。操作如下:
首先,您需要M2E Eclipse插件,该插件需要让Eclipse自动识别和更新Maven依赖项。它还提供了一个很好的图形POM编辑器。截至2011年底,M2Eclipse项目由Sonatype捐赠给Eclipse基金会,现在简称为M2E。但是,它仍然没有随Eclipse Indigo的Java EE版本一起提供,必须通过其更新站点单独安装。
过去,Eclipse和Maven之间的集成有些麻烦。但是,这种新的基于 Eclipse 的 Maven 集成现在意识到,POM 文件中使用了许多 Maven 插件,并且只有某些插件的某些目标在 IDE 环境中才有意义。此外,那些在 IDE 中运行时有意义的目标可能需要特殊配置。为了正确处理此M2E,现在支持“连接器”的概念
M2E有一长串特殊连接器,允许它在调用各种mojos(Maven插件目标)时做“正确的事情”。要查看 Eclipse 中可用连接器的列表,请转到“首选项”对话框,然后选择 Maven->Dicovery->打开目录”。在项目导入期间,当在 {{pom.xml}} 文件中检测到这些连接器时,应自动安装这些连接器。但是,这需要正确版本的 M2E Maven 导入向导(Indigo 在 SR2 之前没有)。
此外,有时这些连接器是错误的,我们需要使用夜间或测试版更新站点来获取最新的修复程序。如果您使用的是较旧或有缺陷的版本,则需要在升级后删除并重新导入项目。由于这些原因,在我看来,在将项目导入Eclipse之前,所有M2E连接器都应该手动安装。
M2E-WTP 连接器是使 WAR 覆盖在 Eclipse “Servers” 的 Eclipse 启动器中正常工作所需的连接器。该连接器用于将Maven与WTP集成...因此,当 Maven WAR 模块作为项目导入 Eclipse 时,可以处理 WAR 覆盖、servlet 容器设置、Eclipse WTP 配置、根上下文设置以及其他一些事情,这些都有助于使 Eclipse Web 工具“Just Work”。
m2e-wtp 连接器的更新站点是:http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/
添加此 M2E-WTP 站点并安装连接器。但请注意,M2E 和 M2E-WTP 连接器都不会将覆盖 WAR 的依赖项放入最终 WAR 中。您必须通过将所需的依赖项添加到最终的 WAR pom.xml来执行此操作。我不知道为什么这些工具不这样做,但它们没有 - 所以只是克服它。;-)
在这一点上,我还建议通过{{Help->Check for Updates}}进行全面更新。完成此操作后,您应该能够简单地添加一个Eclipse服务器,单击您的项目(不是覆盖项目,而是常规项目),然后选择“在服务器上运行...”。
对 WAR 或覆盖 WAR 所做的更改将自动发布到您的服务器。Javascript更改无需重新启动服务器即可发布...您所要做的就是在浏览器中点击刷新以查看正在运行的新代码。
第二次更新:M2E中有一个错误(https://issues.sonatype.org/browse/MECLIPSEWTP-174),可能导致WEB-INF / lib目录意外丢失其所有JAR文件。当这种情况发生时,您的 servlet 应用程序显然不会启动。解决方法是通过右键单击服务器并选择“清理”来清理服务器。请注意,仅清理工作目录不会恢复这些丢失的 JAR。