10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Spring Migration Analyzer:从 Java EE 到 Spring 转换的工具

  • 2013-01-02
  • 本文字数:970 字

    阅读完需:约 3 分钟

SpringSource 已经发布了第一个里程碑版本的 Spring Migration Analyzer 。这是一个辅助类的应用程序,它会扫描 JavaEE 构件并生成一个简要的报表,在这个报表中包含了如果这个应用程序要迁移到 Spring 时要特别注意的 API 和类。这个报表有助于做出迁移评估,因为它可以作为估计迁移难度的工具。

Spring Migration Analyzer 是作为命令行工具提供的,它可以运行在安装了 JVM 的操作系统之上(它只会使用 Java)。它以已存应用程序的二进制部署文件(如 war 或 ear)作为输入并产生一个 HTML 的输出报表(在单独的目录中)。这个报表包含了探查到的 JavaEE 技术列表以及将其迁移到 Spring/Tomcat 所需工作的建议。页面上会有一个整体概览区域,你可以点进去查看每个类会如何影响迁移工作(如果他们使用了特定的 JavaEE API 的话)。会考虑到的技术包括:

以下是一个示例报表:(点击放大)

Spring Migration Analyzer 也会探测到一些其他的特性如 EJB 的类型(如 Session 还是 Entity)、Spring 库、供应商特定的部署描述符甚至编码中使用的事务。对于探测到的每一项技术都会有文字来描述在进行 Spring 迁移时要怎么做。报表还包含了应用程序中每个类的结构如域、方法、java 导入以及抛出的异常等。

但需要注意的是,如果按照默认配置运行 Analyzer 的话,你会得到很多错误的结果。这主要是因为它处理的是二进制构件而不是源码,它不会区分应用程序的实际代码和外部类库的代码。理想情况下,报表中要排除外部类库而只关心开发人员创建的源码(就像其他的软件报表工具所处理的代码一样,这样的工具如单元测试、代码覆盖率以及质量检查等)。

例如,一个使用 Logback 来记录日志的应用程序会报告它使用了 JMS:

但源码中并没有 JMS 的代码,这只是因为 logback 二进制包中导入了 JMS,因为它支持将 JMS 作为日志目标。因此为了得到更为有意义的结果,你要使用“exclude”命令行分支来忽略外部类库(如 /WEB-INF/lib 目录)。并且输出目录不能与输入目录相同。

因此,尽管在理论上工具的这个命令行分支是可选的,但实际上它是必需的。总之,以目前的状态Spring Migration Analyzer 是一个有用的主意,但是为了避免向用户产生错误的报表还需要一些调整。

想得到更多信息的话,可以查看文档以及当前的缺陷列表。它的源码托管在 GitHub 上。

2013-01-02 06:522294

评论

发布
暂无评论
发现更多内容

将Excel转换为HTML:Easy Data Transform for mac

Rose

macOS Big Sur 11安装包(macOS11系统下载) v11.7.10正式版

Rose

Tiktok云手机是什么,做tiktok养号有什么优势?

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版

XMind for mac XMind思维导图 v24.01中文版

Rose

全世界 LoRA 训练脚本,联合起来!

不在线第一只蜗牛

Java 架构 前端开发

好“云”来!盘点春节与云计算息息相关的那些事儿

Finovy Cloud

云计算 云时代

microsoft 365永久激活密钥

Rose

开发者集结令丨Farris-Vue前端组件创新挑战赛开赛啦!

inBuilder低代码平台

前端 低代码 开发

前端开发CSS实用的技巧有哪些

小魏写代码

AE如何导入LUTS呢 ?After Effects导入lut使用详细教程

Rose

海外云手机:入局海外市场的最佳利器

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

Final Cut Pro 中文基础教程:多机位剪辑

Rose

从技术到管理:如何避免失去专业指导能力的陷阱?

码哥字节

程序员 架构师 职业发展

服务器操作卡,出现蓝屏、死机,该怎么解决

德迅云安全杨德俊

为什么VPS比传统虚拟空间更受欢迎?深度解析!

一只扑棱蛾子

VPS

用云手机打造tiktok账号需要注意些什么?

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版

解密 ARMS 持续剖析:如何用一个全新视角洞察应用的性能瓶颈?

阿里巴巴云原生

阿里云 云原生

ACK One Argo工作流:实现动态 Fan-out/Fan-in 任务编排

阿里巴巴云原生

阿里云 云原生 argo

VMware Fusion Pro 13(VM虚拟机)中文破解版安装教程

Rose

photoshop2024硬件要求

Rose

一种高效解决12306第三方抢票不公平乱收费体验差的新技术

巨公摇号创始人钱庆照

12306 第三方付费抢票 随机信标 巨公摇号 抢火车票

ai全称是什么?好用的AI软件有哪些?这14款一定要知道。

彭宏豪95

AI 在线白板 AIGC AI绘画 效率软件

运营商数智化缩影:一部哑资源的资源管理史

鲸品堂

网络 资源 运营商 企业号 2 月 PK 榜

Spring Migration Analyzer:从Java EE到Spring转换的工具_Java_Kostis Kapelonis_InfoQ精选文章