在 Eclipse 中设置或导入项目以修补 WSO2 Identity Server 或 Carbon

Setting up or Importing project in Eclipse to Patch WSO2 Identity Server or Carbon

我在 Eclipse 中导入正确的东西时遇到问题,因此我可以为 WSO2 Identity Server 5.0.0 修补一些 classes。话虽如此,我需要做的可能是底层 Carbon 4.2.0 的一部分。特别是我想修改身份中的内容以使用 SAML,例如 org.wso2.carbon.identity.sso.saml.logout.LogoutRequestSender 和其他相关的 classes.

所以我使用了 Identity Server Build from Source 指令,并且能够使用 maven 从命令行构建补丁和 IS 分发。但是我不知道要导入 Eclipse 中多少来进行任何编码工作。似乎我得到了太多的项目和大量的错误。我完全不知道如何处理像这样爆炸式增长的相互关联的项目。

首先,我导出了https://svn.wso2.org/repos/wso2/carbon/platform/tags/turing-chunk11/

所以我从我想开始工作的 class LogoutRequestSender 所在的位置进行了搜索。它在几个地方...

turing-chunk11/components/identity/org.wso2.carbon.identity.sso.saml/4.2.1/src/main/java/org/wso2/carbon/identity/sso/saml/logout/LogoutRequestSender.java

turing-chunk11/components/identity/org.wso2.carbon.identity.sso.saml/4.2.2/src/main/java/org/wso2/carbon/identity/sso/saml/logout/LogoutRequestSender.java

turing-chunk11/components/identity/org.wso2.carbon.identity.sso.saml/4.2.0/src/main/java/org/wso2/carbon/identity/sso/saml/logout/LogoutRequestSender.java

那么,我真的只想将这家伙导入到 eclipse 中吗? turing-chunk11/components/identity/org.wso2.carbon.identity.sso.saml/4.2.0

不确定为什么所有这些版本都在这个块下。太混乱了!

有人愿意解释我如何起床 运行 并更好地理解这一点吗?我很乐意做出贡献! (并在发布计划之前修复一些问题!)

除此之外,如果我做对了那部分,我该如何构建和设置正确的东西,以便 IS 将其作为补丁?

源存储库包含随产品的不同版本一起提供的同一组件的多个版本。因此,您必须确定与 IS 5.0.0 发行版相对应的所需组件的正确版本。

最简单的方法是查看您的 IS 包 - <IS>/repository/components/plugins 这些 osgi 组件的二进制文件所在的位置。如果您在该目录中搜索 'org.wso2.carbon.identity.sso.saml',您将找到 org.wso2.carbon.identity.sso.saml_4.2.3.jar,因此您现在拥有版本 4.2.3。对每个组件执行此操作,因为它们是独立版本化的。

通过对 pom 文件进行少量修改(删除相对路径并添加 wso2 mvn 存储库),您将能够单独构建这些组件,并为 IS 打补丁。请注意,要应用修补的 jar,请在 repository/components/patches 下创建一个名为 patch0xyz(xyz 应该是数字)的目录,并将修补的 jar 放在那里。