如何在 wso2esb 4.9.0 中修补和重新编译 axis2_1.6.1.wso2v14.jar

How to patch and recompile axis2_1.6.1.wso2v14.jar in wso2esb 4.9.0

如果我手动修改 axis2_1.6.1.wso2v14.jar,wso2esb 4.9.0 在启动时崩溃并显示以下消息:

Could not start: null(reference:file:../plugins/axis2_1.6.1.wso2v14.jar:17). It's state is uninstalled.

就我而言,我想应用以下补丁:https://github.com/wso2/wso2-axis2/commit/0f826cbf230b8c855b041ea1db3a751319cd3e91 为 wso2esb 5.0.0 发布

注意: 即使我只解压缩罐子,然后用

重新创建它,也会发生这种情况
$ jar cf *

如何在 wso2esb 4.9.0 中修补和重新编译 axis2_1.6.1.wso2v14.jar?

您基本上可以按照以下步骤操作。但在此之前检查是否使用 WUM 更新发布了相同的修复程序。如果没有

  1. 您需要先下载相关标签v1.6.1-wso2v14
  2. 精心挑选您想要包含的提交。 (这在某些情况下可能很简单,但在某些情况下可能会出现问题,因为可能会有很多更改或依赖项 类 已更改。所以要小心)
  3. 使用修复构建标签
  4. 获取构建 axis2_1.6.1-wso2v14.jar
  5. <ESB-Home>/repository/component/patches directory
  6. 中新建一个编号较大的补丁目录
  7. 将 jar 文件复制到该目录,例如patch1000/axis2_1.6.1-wso2v14.jar(检查jar文件名,应该和plugins目录下的一样)
  8. 重启服务器

您可以参考Doc1, Doc2了解更多信息

已编辑 不要尝试使用 jar cf 命令打包它。 运行 mvn 全新安装。这不是一个标准的 jar,而是一个 OSGi 包。因此,复制您从 mvn clean install 获得的 jar 文件。如果名称不同,只需重命名 jar 名称(- 到 _)