我能够做到这一点,一切都很好。这是做什么:
首先,您需要 M2E Eclipse 插件,它是 Eclipse 自动识别和更新 Maven 依赖项所必需的。它还提供了一个不错的图形化 POM 编辑器。截至 2011 年底,M2Eclipse 项目由 Sonatype 捐赠给 Eclipse 基金会,现在简称为M2E。但是,Eclipse Indigo 的 Java EE 版本仍然没有附带它,必须通过他们的更新站点单独安装
过去,Eclipse 和 Maven 的集成有些麻烦。然而,这个新的基于 Eclipse 的 Maven 集成现在意识到在 POM 文件中使用了许多 Maven 插件,并且只有某些插件的某些目标在 IDE 环境中才有意义。此外,在 IDE 中运行时有意义的目标可能需要特殊配置。为了正确处理这个 M2E,现在支持“连接器”的概念
M2E 有一长串特殊的连接器,允许它在调用各种 mojo(Maven 插件目标)时做“正确的事情”。要查看 Eclipse 中可用连接器的列表,请转到 Preferences 对话框并选择 Maven->Dicovery->Open Catalog。这些连接器应该在项目导入期间在 {{pom.xml}} 文件中检测到时自动安装。但是,这需要正确版本的 M2E Maven 导入向导(Indigo 在 SR2 之前没有)。
此外,有时这些连接器有问题,我们需要使用每晚或 beta 更新站点来获取最新修复。如果您的版本较旧或有问题,则需要在升级后删除并重新导入项目。由于这些原因,在我看来,所有 M2E 连接器都应该在将项目导入 Eclipse 之前手动安装。
M2E-WTP 连接器是使 WAR 覆盖在 Eclipse“服务器”的 Eclipse 启动器中工作所需的连接器。该连接器用于将 Maven 与 WTP...作为项目导入 Eclipse。
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。