openam saml libraries compatible with JDK21 #937
Replies: 2 comments 4 replies
-
|
Hi @rohithjayak, |
Beta Was this translation helpful? Give feedback.
-
|
Hi @maximthomas , FEW ERRORS: Here is the build.xml contents with the relevant targets: And here is the build.classpath used by compile target which i have modified as per your suggestion to include jaxb-api-2.3.1.jar and jaxb-runtime-3.0.2.jar instead of jakarta.xml.bind-api-4.0.2.jar and jaxb-runtime-4.0.5.jar: And here is the sample content of SSOResult.java which directly imports Jakarta.xml.bind: I suspect since we removed the jakarta.xml.bind api jar, it started to throw errors related to jakarta.xml.bind imports and since now we have added jaxb-api-2.3.1.jar and jaxb-runtime-3.0.2.jar, it is able to resolve the javax.xml.bind imports, so could you please let me know how do we migrate to JDK21 with the above combinations of source code? Thanks |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
We are trying to migrate our fedlet library to be compatible with JDK21.
Our current fedlet bundles the following openam libraries which are based on 14.x:
ls -lrt fedlet/fedlet/WEB-INF/lib/
total 41824
bsh-2.0b4.jar
mockito-all-1.10.19.jar
jcommander-1.48.jar
forgerock-guava-base-18.0.4.jar
forgerock-guava-annotations-18.0.4.jar
i18n-slf4j-1.4.2.jar
i18n-core-1.4.2.jar
validation-api-1.1.0.Final.jar
org.apache.servicemix.bundles.javax-inject-1_2.jar
activation-1.1.jar
javax.mail-1.5.1.jar
commons-lang-2.6.jar
forgerock-guice-core-1.1.0.jar
json-20090211.jar
jaxb-xjc-1.0.6.jar
jaxb-api-1.0.6.jar
jaxb1-impl-2.0.2.jar
guice-multibindings-3.0.jar
forgerock-guava-math-18.0.4.jar
forgerock-guava-collect-18.0.4.jar
xsdlib-20060615.jar
relaxngDatatype-20020414.jar
jaxp-api-1.4.2.jar
jaxb-libs-1.0.6.jar
javax.servlet-api-3.0.1.jar
java-ipv6-0.14.jar
isorelax-20030108.jar
guice-3.0-no_aop.jar
forgerock-guava-primitives-18.0.4.jar
forgerock-guava-concurrent-18.0.4.jar
forgerock-guava-cache-18.0.4.jar
xmlsec-1.5.6.jar
jaxrpc-api-1.1.jar
guice-assistedinject-3.0.jar
esapiport-2013-12-04.jar
testng-6.9.10.jar
swagger-models-1.5.9.jar
grizzly-framework-2.3.24.jar
assertj-core-2.4.1.jar
jcip-annotations-1.0-1.jar
joda-time-2.7.jar
jsr311-api-1.1.1.jar
opendj-core-4.0.0-M1.jar
opendj-grizzly-4.0.0-M1.jar
jaxrpc-impl-1.1.3_01-20160905.jar
forgerock-util-21.0.0-alpha-23.jar
chf-http-core-21.0.0-alpha-23.jar
api-descriptor-21.0.0-alpha-23.jar
json-resource-21.0.0-alpha-23.jar
security-21.0.0-alpha-23.jar
json-resource-http-21.0.0-alpha-23.jar
forgerock-audit-core-21.0.0-alpha-23.jar
openam-i18n-14.0.0-M6.jar
openam-xacml3-schema-14.0.0-M6.jar
openam-certs-14.0.0-M6.jar
openam-saml2-schema-14.0.0-M6.jar
openam-wsfederation-schema-14.0.0-M6.jar
openam-liberty-schema-14.0.0-M6.jar
openam-idpdiscovery-14.0.0-M6.jar
openam-audit-context-14.0.0-M6.jar
openam-shared-14.0.0-M6.jar
openam-audit-core-14.0.0-M6.jar
openam-ldap-utils-14.0.0-M6.jar
openam-federation-library-14.0.0-M6.jar
webservices-tools-2.1-b16.jar
webservices-extra-api-2003-09-04.jar
webservices-rt-2009-29-07.jar
webservices-extra-2008-03-12.jar
webservices-api-2009-14-01.jar
xalan-2.7.1.jar
xml-serializer-2.11.0.jar
xml-resolver-2.11.0.jar
xml-apis-2.11.0.jar
xercesImpl-2.11.0.jar
mail-1.4.5.jar
commons-logging-api-1.1.jar
commons-logging-1.1.3.jar
We tried creating a new fedlet with the below openam 16.x version libraries and removed the unnecessary/old version jars and upgraded the jars which were not compatible with JDK21:
openam-xacml3-schema-16.0.3.jar
openam-wsfederation-schema-16.0.3.jar
openam-shared-16.0.3.jar
openam-saml2-schema-16.0.3.jar
openam-liberty-schema-16.0.3.jar
openam-ldap-utils-16.0.3.jar
openam-idpdiscovery-16.0.3.jar
openam-i18n-16.0.3.jar
openam-federation-library-16.0.3.jar
openam-certs-16.0.3.jar
openam-audit-core-16.0.3.jar
openam-audit-context-16.0.3.jar
But even after doing this we see that while compiling one of the source files of our project there is a dependency on old version classes which is not getting bridged properly inspite of using upgraded jakarta and jaxb-runtime jars in our classpath. So, is there any specific step to be done inorder to ensure the javax dependency of the openam libraries can be automatically bridged to use the latest jakarta classes and make it compatible with JDK21?
Here is one minimal class path with which the source file is failing to compile with an error as follows:
Error:
MetadataManager.java:188: error: cannot access Element
[javac] List sloLogoutURLs = idpDescriptor.getSingleLogoutService();
[javac] ^
[javac] class file for javax.xml.bind.Element not found
Could you please help with this?
Thanks
Beta Was this translation helpful? Give feedback.
All reactions