STS 2.0 中的 OSGi 开发工具

工程 | Christian Dupuis | 2009 年 3 月 5 日 | ...

昨天,我们发布了即将推出的 SpringSource Tool Suite 2.0 版本的最终候选发布版本。RC 版本可在 Windows、Mac OS X 和 Linux 上通过 STS 产品页面获取。

STS 2.0 配备了用于开发 Spring 应用程序的新生产力工具,例如快速修复、即时输入验证和更正、项目和 Bean 创建向导,以及可视化 Spring 配置编辑器等。敬请关注这些新功能的更多信息。

此外,STS 2.0 还提供用于 OSGi 应用程序开发的工具,这些工具可能会引起 OSGi 的新手和经验丰富的用户的兴趣。我希望通过这篇博文简要介绍这些功能。

现有工具

为了便于回顾,让我们先概述一下自 SpringSource dm Server 随 STS 和开源 dm Server Tools 一起发布以来,可用的 OSGi 开发工具。
  • dm Server 集成:STS 为 Eclipse WTP 提供了 dm Server 集成,使您能够管理集成 dm Server 实例的生命周期(启动/停止/调试),以及部署 OSGi bundles、PARs 和传统的 JEE WARs。当用户更改代码时,dm Server 集成还会透明地处理已部署工件的刷新和更新操作。
  • 项目向导:为了创建 OSGi bundle 和 PAR 项目,STS 提供了两个项目向导,它们会自动设置项目结构和所有必需的 Eclipse 元数据。对于传统的 WARs,仍然可以使用 WTP Dynamic Web Project 向导。
  • Manifest 编辑和验证:STS 为 MANIFEST.MF 文件提供内容辅助、超链接和验证,使 OSGi 元数据管理任务尽可能轻松。通过使用集成的快速修复(例如,下载缺失的依赖项或更正版本范围),可以自动解决常见问题。
  • Classpath 管理:STS 将从 MANIFEST.MF 中提取 OSGi 依赖项元数据,并创建一个具有正确可见性规则的 classpath 容器。依赖项会针对本地 dm Server bundle 和库存储库进行解析。仅测试用的依赖项可以添加到测试源文件夹的 META-INF 文件夹中的一个名为 TEST.MF 的文件中。
  • 存储库浏览器:STS 集成了 SpringSource Enterprise Bundle Repository,提供对可用企业库的集成访问。这使得下载和安装第三方依赖项 bundles 变得非常容易。

Repository Browser

STS 2.0 中的新功能

STS 2.0 提供了新的工具来分析 bundles 并可视化它们基于 Import-/Export-Package 关系和服务消耗的依赖项。可访问的信息与用户通常从 OSGi 运行时的管理 shell(例如,Equinox Console)以文本形式获得的信息相似。但这些新工具的优点是,您可以在开发环境中获得相关信息,并拥有可视工具来导航和检查您的 bundle 元数据和连接;无需离开 IDE 打开 telnet 会话。

以下屏幕截图(单击可放大)显示了 Server Editor 的 Bundle Overview 页面。此页面列出了所有已安装的 bundles,并以 MANIFEST 的形式提供了对 bundle 元数据的访问,以及从 OSGi 运行时可访问的所有连接信息。专用部分显示了导出的和导入的包及其各自的消费者和提供者,以及注册的 OSGi 服务,包括它们的属性和它们的消费者。

Bundle Overview

显示的信息是从正在运行的 dm Server 中检索的,因此如果 bundles 被安装、停止或更新,它们会立即反映更改。在 Bundle Overview 或 Equinox Console 中导航特定 bundle 的依赖项可能相当繁琐,因为两者都不能可视化整个依赖项图。因此,为了分析连接问题,用户需要从一个 bundle 迭代到下一个。

新的 Bundle Dependency Graph 使此任务变得非常容易,它允许您可视化地导航依赖项图。Graph 可以显示包或服务依赖项。此外,还可以更改 Graph 中显示的依赖项的最大深度。

我建议您亲自尝试一下,因为看到 Graph 在实际操作中比从静态屏幕截图中想象的要有趣得多。

Bundle Dependency Graph

最后但同样重要的是,有些用户喜欢保留他们习惯的环境。这就是为什么我们还集成了 STS 中的文本控制台。Server Console(见下文)支持与 Equinox 控制台相同的命令,但在此基础上增加了命令补全和命令历史记录。

Server Console

结论

突出显示的功能并非 STS 2.0 的全部新增功能,但它们应该能让您一窥 STS 为 OSGi 开发提供的服务。随着本月晚些时候 GA 的临近,我们将发布更多关于其他功能领域的信息。

尽管如此,现在是时候让您的 Spring 或 OSGi 项目试用 STS 2.0 RC,并告知我们您的想法。请在产品的 JIRA社区论坛 中报告您发现的任何问题。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有