Welcome to the WSO2 Identity Server source code! For info on working with the WSO2 Identity Server repository and contributing code, click the link below.
Hi, there are multiple versions of commons-codec:commons-codec in carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util. As shown in the following dependency tree, according to Maven's “nearest wins” strategy, only commons-codec:commons-codec:1.2 can be loaded, commons-codec:commons-codec:1.10 will be shadowed.
However, one method defined in shadowed version commons-codec:commons-codec:1.10 is referenced by client project via org.wso2.carbon.identity.framework:org.wso2.carbon.identity.core:5.18.34-SNAPSHOT, but missing in the actually loaded version commons-codec:commons-codec:1.2.
For instance, the following missing method(defined in commons-codec:commons-codec:1.10) is actually referenced by carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util, which will introduce a runtime error(i.e., "NoSuchMethodErrors") into carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util.
Missing method: org.apache.commons.codec.binary.Base64: void init (int) is invoked by carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util via the following path:
Declare a direct dependency commons-codec:commons-codec:1.10 in the pom file of carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util to upgrade version from 1.2 to 1.10.
Use configuration attribute <dependencyManagement> to unify the version of library commons-codec:commons-codec to be 1.10 in carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util's pom file.
Use <exclude> to exclude commons-codec:commons-codec:1.2 from the dependency tree, so that version 1.10 will be loaded.
Please let me know which solution do you prefer? I can submit a PR to fix it.
Thank you very much for your attention.
Best regards,
Issue description
Hi, there are multiple versions of commons-codec:commons-codec in carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util. As shown in the following dependency tree, according to Maven's “nearest wins” strategy, only commons-codec:commons-codec:1.2 can be loaded, commons-codec:commons-codec:1.10 will be shadowed.
However, one method defined in shadowed version commons-codec:commons-codec:1.10 is referenced by client project via org.wso2.carbon.identity.framework:org.wso2.carbon.identity.core:5.18.34-SNAPSHOT, but missing in the actually loaded version commons-codec:commons-codec:1.2.
For instance, the following missing method(defined in commons-codec:commons-codec:1.10) is actually referenced by carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util, which will introduce a runtime error(i.e., "NoSuchMethodErrors") into carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util.
Missing method: org.apache.commons.codec.binary.Base64: void init (int) is invoked by carbon-identity-framework-master\components\authentication-framework\org.wso2.carbon.identity.application.authentication.endpoint.util via the following path:
Suggested fixing solutions
Please let me know which solution do you prefer? I can submit a PR to fix it.
Thank you very much for your attention. Best regards,
Dependency tree----