首页 > 解决方案 > 将 WebSphere 9 ant 任务迁移到 WebSphere liberty

问题描述

我正在尝试将 j2ee 应用程序从 WebSphere 迁移到 liberty。

构建脚本在 ant 构建脚本中使用 WebSphere 特定的 ant 任务 (com.ibm.websphere.ant.tasks.WsEjbDeploy)

有没有类似的任务可用于自由?或者

可以部署使用上述任务构建的代码并且可以自由运行吗?

标签: antwebspherewebsphere-liberty

解决方案


EJBDeploy 和相关的 ant 任务已被即时 (JIT) 部署特性所取代。此功能最初是在 WebSphere 传统版本 7.0 中针对所有 EJB 3(及更高版本)模块引入的。

Liberty 为所有 EJB 模块级别(EJB 1.x 到 EJB 3.2)提供 JIT 部署。WebSphere 传统版现在还支持所有 EJB 模块版本的 JIT 部署,从版本 8.5.5.16 和 9.0.5.0 开始,包含 EJB 1.x 或 2.x 实体 bean 的模块除外。实体 bean 仍然需要使用 EJBDeploy。如果您的应用程序包含实体 bean,那么在迁移到 Liberty 时,它们将需要转换为另一种持久性形式,例如 JPA。

将应用程序迁移到在 WebSphere 传统版上使用 EJBDeploy 的 Liberty 时,应使用应用程序的未部署版本。不要将 EJBDeploy 生成的工件迁移到 Liberty。Liberty 的 JIT 部署功能将根据需要在内存中动态生成工件。EJBDeploy 生成的工件可能会干扰 Liberty 中的正确行为。

关于 JIT 部署的更多信息,请参见知识中心的以下信息:

https://www.ibm.com/support/knowledgecenter/SSEQTP_9.0.5/com.ibm.websphere.base.doc/ae/cejb_deployejbfp.html

如果应用程序包含远程 EJB 接口并且将使用瘦客户端,则需要生成存根类以与瘦客户端打包。这在以前由 EJBDeploy 完成,但现在可以通过使用 RMIC 完成。

可以从此处提供的链接中找到有关将远程接口部署到 Liberty 的更多信息:

https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_ejb_dev.html


推荐阅读