为 SpringSource Tool Suite 2.8.0 升级 Maven 集成

工程 | Andrew Eisenberg | 2011年10月18日 | ...

更新,11月23日:我们发布了 STS 2.8.1,它修复了许多用户遇到的 m2eclipse 安装/卸载问题。阅读发布公告。现在,可以轻松升级/降级 m2eclipse。STS 2.8.1 完全支持 m2eclipse 的两个版本。

今天,我们发布了 SpringSource Tool Suite 的 2.8.0 版本。除了更新到 Eclipse Indigo SR1(为您带来 Java7 的完整 IDE 支持)之外,我们还将 Maven 集成从旧的、未维护的 m2eclipse 0.12.x 版本更新到了最新的 m2e 1.0 版本——该版本现在作为 Eclipse 发布列车的一部分发布。STS 2.8.0 包预装了 m2e 1.0 和几个兼容的附加组件(项目配置器)。我们还实现了一个迁移助手,可以帮助您将现有项目升级到新的 m2e 版本。此迁移助手将转换所有旧 Maven 项目的类路径、构建器和项目性质,使其与 m2e 1.0 兼容。它不会更新旧的启动配置或项目/工作区设置。这些需要手动迁移。

不幸的是,升级现有的 STS 2.7.x(或更旧)安装需要额外的工作。首先,请遵循安装说明文档“更新站点安装”部分中的说明。更新到 2.8.0 后,即使您尚未升级到 m2e v1.0,也会调用 m2e 迁移助手。最好等到升级到 m2e v1.0 后再进行迁移。您的项目不会受到长期损害,但在完成下面描述的升级过程之前,它们将无法构建。

卸载现有的 m2e 0.xx 组件

  1. 启动您的 STS(最好使用空工作区,以避免与使用 m2eclipse 0.12.x 的现有项目混淆)。
  2. <li>Go to the "About" dialog and click on "Installation Details".</li>
    
    <li>In the 'Installed Software' list that opens, select the <code>org.maven.ide.eclipse.*</code> and the <code>org.sonatype.*</code> entries.  More specifically, there should be five:
    
    • “用于 AJDT 的 Maven 集成(可选)”:id=org.maven.ide.eclipse.ajdt.feature.feature.group
    • “用于 Eclipse 的 Maven 集成(必需)”:id=org.maven.ide.eclipse.feature.feature.group
    • “用于 WTP 的 Maven 集成(可选)”:id=org.maven.ide.eclipse.wtp.feature.feature.group
    • “常用 Maven 项目的项目配置器(临时)”:id=org.maven.ide.eclipse.temporary.mojos.feature.feature.group
    • “Tycho 项目配置器”:id=org.sonatype.tycho.m2e.feature.feature.group
    • [caption id="attachment_10091" align="aligncenter" width="871" caption="要卸载的 Maven 功能"][/caption]
    • 按“卸载”
    • 重新启动 STS(同样,最好使用空工作区)
    • 安装新的 m2e 组件 现在,我们将从扩展安装中安装新的 m2e 1.0 支持,其中包括许多与该 m2e 版本兼容的附加组件。我们建议从仪表板安装,而不是直接从更新站点安装,因为从仪表板安装会自动安装许多常用的项目配置器(这样您以后就不必自己做了)。

      1. 打开仪表板并选择“扩展”选项卡。
      2. 选择 m2e 1.0.100 复合安装并按“安装”[caption id="attachment_10094" align="aligncenter" width="797" caption="从仪表板安装 Maven"][/caption]
      3. 重新启动 STS

      糟糕……我的项目无法再构建 重新启动 STS 后,您可能会发现某些 Maven 项目无法再构建,并且它们的 pom.xml 文件中出现类似“Plugin execution not covered by lifecycle configuration”(插件执行未被生命周期配置覆盖)的错误。

      不要惊慌。从 1.0 版本开始,m2e 对 Maven 插件在 Eclipse/STS 中运行的方式变得更加严格。为了使 Maven 插件作为项目构建或在 Eclipse/STS 中配置的一部分运行,必须有一个相关的 Eclipse 插件(称为项目配置器)来管理 Maven 插件的执行。

      有一个简单的解决方法。转到“首选项”->“Maven”->“发现”,然后单击“打开目录”。这将允许您浏览所有可用的 m2e 项目配置器。查找适用于您所看到错误的配置器并安装它们。

      如果您仍然遇到问题或有任何疑问,请在此博客或 STS 论坛上发表评论。我们将很乐意提供帮助。

      编辑(10 月 21 日)

      感谢大家的反馈。我收集了一些常见问题解答并将其发布到论坛帖子中:http://forum.springsource.org/showthread.php?116189-STS-2.8.0-and-m2e-FAQ

      此外,我们正在研究未来如何改进 STS 的 Maven 支持,并且我们正在收集用户反馈。请发表评论。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有