【问题标题】:how to apply patch files in wso2 carbon如何在 wso2 carbon 中应用补丁文件
【发布时间】:2016-09-23 19:21:55
【问题描述】:

有人可以完成将 .patch 文件应用到 WSO2 ESB v4.0.3 所需遵循的步骤吗?我尝试了以下方法:

  1. 上传.patch文件到repository/components/patches和 carbon_home/lib/patches

  2. 运行wso2server.sh start -DapplyPatches

此命令在 components/patches 目录中创建一个名为 patch000 的目录并用插件填充它。

我要应用的补丁是https://issues.apache.org/jira/browse/TRANSPORTS-51

非常感谢

【问题讨论】:

    标签: wso2 wso2carbon


    【解决方案1】:

    您需要将 .patch 文件应用到代码库并从中创建 jar。然后创建一个带有补丁名称的文件夹(例如:patch001)并将jar(s)放入其中并将新创建的补丁文件夹(例如:patch001)复制到repository/components/patches。 现在运行 wso2server.sh -DapplyPatches 就可以了。

    当您执行 -DapplyPatches 时,它会将 repository/components/plugins 目录的原始内容备份到 repository/components/patches 目录,这就是您看到 patch000 文件夹的原因(因此可以恢复到以前的状态) .

    【讨论】:

    • 我必须为 ESB-4.6.0 应用补丁。源码可以下载吗?还有一些教程解释了如何生成 jar?谢谢。
    【解决方案2】:

    从 carbon 4.2.0 开始,您不需要提供 -DapplyPatches 选项来应用补丁。当服务器启动时,它会自动检测并应用是否有新补丁。 这可以从日志文件 repository/logs/patches.log 中验证

    【讨论】:

      【解决方案3】:

      WSO2官方补丁,

      1. 阅读自述文件。(不是必须的步骤,最好这样做)

      2. 关闭服务器(如果您已经启动)。

      3. 将 wso2carbon-version.txt 文件复制到 /bin。(不是必须的步骤,如果这样做更好)

      4. 将 patchNumber 复制到 /repository/components/patches/

      5. 重启服务器: Linux/Unix:sh wso2server.sh Windows:wso2server.bat

      您创建的补丁

      编译(mvn clean install) 并从修改后的代码库中获取 jar。例如,假设您正在为 carbon-registry extensions 创建一个补丁。首先,克隆 carbon-registry 并进行修复,然后转到 extensions 模块。使用 maven build(mvn clean install) jar。然后创建一个带有补丁名称的文件夹(例如:patch9999)并将jar(s)放入其中并将新创建的补丁文件夹(例如:patch9999)复制到repository/components/patches。现在只需重新启动/启动产品,补丁就会被应用。

      ./wso2server.sh restart/start
      

      但是,如果产品早于 carbon 4.2.0,您必须在启动产品时提供 -DapplyPatches 属性,如下所示。

      ./wso2server.sh -DapplyPatches
      

      如果补丁成功应用,您可以在开头看到下面的一组行。

      [2016-08-24 20:27:25,319]  INFO {org.wso2.carbon.server.extensions.PatchInstaller} -  Patch changes detected 
      [2016-08-24 20:27:27,980]  INFO {org.wso2.carbon.server.util.PatchUtils.console} -  Backed up plugins to patch0000
      [2016-08-24 20:27:28,010]  INFO {org.wso2.carbon.server.util.PatchUtils.console} -  Patch verification started
      [2016-08-24 20:27:28,034]  INFO {org.wso2.carbon.server.util.PatchUtils.console} -  Patch verification successfully completed.
      

      【讨论】:

      • 非常好的第一点!因为有些补丁必须手动应用 - 然后在自述文件中描述!
      【解决方案4】:

      正如 Sajith 所说,我们在 wso2server.sh 文件中默认添加了 -DapplyPatches 作为 JVM 参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-07
        • 2021-11-26
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        相关资源
        最近更新 更多