有人可以通过您需要遵循的步骤将.patch文件应用到WSO2 ESB v4.0.3吗?我尝试了以下内容:
将.patch
文件上传到repository/components/patches
和
carbon_home / LIB /补丁
运行wso2server.sh start -DapplyPatches
此命令在components / patches目录中创建一个名为patch000
的目录,并用插件填充它。
我要申请的补丁是https://issues.apache.org/jira/browse/TRANSPORTS-51
非常感谢
答案 0 :(得分:10)
您需要将.patch文件应用于代码库并从中创建jar。然后创建一个包含补丁名称的文件夹(例如:patch001)并将jar放入其中并将新创建的补丁文件夹(例如:patch001)复制到存储库/组件/补丁。 现在运行wso2server.sh -DapplyPatches将起作用。
当你执行-DapplyPatches时,它会将repository / components / plugins目录的原始内容备份到repository / components / patches目录,这就是你看到patch000文件夹的原因(因此可以恢复到以前的状态)
答案 1 :(得分:3)
从碳4.2.0开始,您无需提供-DapplyPatches选项即可应用补丁。当服务器启动时,如果有新补丁,它会自动检测并应用。 这可以从日志文件repository / logs / patches.log
中进行验证答案 2 :(得分:3)
WSO2官方补丁,
阅读自述文件。(不是必须的步骤,如果你这样做会更好)
如果您已经开始,请关闭服务器。
将wso2carbon-version.txt文件复制到/bin。(不是必须的步骤,如果你这样做会更好)
将patchNumber复制到/ repository / components / patches /
使用以下命令重启服务器: Linux / Unix:sh wso2server.sh Windows:wso2server.bat
由您创建的补丁
编译(mvn clean install
)并从修改后的代码库中获取jar。例如,假设您正在为carbon-registry extensions创建补丁。首先,克隆碳注册表并进行修复,然后转到extensions模块。使用maven build(mvn clean install
)jar。然后创建一个带有补丁名称的文件夹(例如:patch9999)并将jar放入其中并将新创建的补丁文件夹(例如:patch9999)复制到repository/components/patches
。现在只需重启/启动产品即可应用补丁。
./wso2server.sh restart/start
但是,如果产品比碳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.
答案 3 :(得分:-1)
正如Sajith所说,我们在wso2server.sh文件中默认添加了-DapplyPatches作为JVM参数。