{"id":6020,"date":"2024-12-10T21:58:00","date_gmt":"2024-12-11T01:58:00","guid":{"rendered":"https:\/\/www.dr-chuck.com\/csev-blog\/?p=6020"},"modified":"2024-12-10T21:58:00","modified_gmt":"2024-12-11T01:58:00","slug":"sakai-25-upgraded-to-jdk-17","status":"publish","type":"post","link":"https:\/\/www.dr-chuck.com\/csev-blog\/2024\/12\/sakai-25-upgraded-to-jdk-17\/","title":{"rendered":"Sakai 25 upgraded to JDK 17"},"content":{"rendered":"\n<p>This message is from Earle Nietzel &#8211; the Sakai Community Branch Manager:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The JDK 17 upgrade is upon us and here are some notes to help everyone upgrade.<\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Upgrade JDK to version 17 (sdkman makes this simple)\n<ul class=\"wp-block-list\">\n<li>sdk install java 17.0.13-tem (install Temurin jdk 17)<\/li>\n\n\n\n<li>sdk use java\u00a017.0.13-tem (switches jdk in the current shell)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Follow traditional build and deploy\u00a0of sakai src to tomcat\n<ul class=\"wp-block-list\">\n<li>mvn(d) clean install sakai:deploy-exploded<\/li>\n\n\n\n<li>use mvnd for parallel builds\n<ul class=\"wp-block-list\">\n<li>sdk install mvnd<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Update java options for running tomcat\n<ul class=\"wp-block-list\">\n<li>use the following jdk options when starting tomcat (setenv.sh)\n<ul class=\"wp-block-list\">\n<li>\u00a0 \u00a0 JAVA_OPTS=&#8221;$JAVA_OPTS \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/jdk.internal.access=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/jdk.internal.misc=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/<a href=\"http:\/\/sun.nio.ch\/\">sun.nio.ch<\/a>=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/sun.util.calendar=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.management\/com.sun.jmx.mbeanserver=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=jdk.internal.jvmstat\/sun.jvmstat.monitor=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=jdk.management\/com.sun.management.internal=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/<a href=\"http:\/\/java.io\/\">java.io<\/a>=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.nio=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/<a href=\"http:\/\/java.net\/\">java.net<\/a>=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.util=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.util.concurrent=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.util.concurrent.locks=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.util.concurrent.atomic=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.lang=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.lang.invoke=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.math=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.sql\/java.sql=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.lang.reflect=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.time=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.base\/java.text=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.management\/sun.management=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.desktop\/java.awt.font=ALL-UNNAMED \\<br>\u00a0 \u00a0 \u00a0 \u00a0 &#8211;add-opens=java.desktop\/javax.swing.tree=ALL-UNNAMED&#8221;<\/li>\n\n\n\n<li>see\u00a0<a href=\"https:\/\/raw.githubusercontent.com\/sakaiproject\/nightly-config\/refs\/heads\/master\/setenv.sh\">https:\/\/raw.githubusercontent.com\/sakaiproject\/nightly-config\/refs\/heads\/master\/setenv.sh<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>adjust catalina.properties adding &#8220;serializer.jar&#8221; to list jars that should NOT be scanned\n<ul class=\"wp-block-list\">\n<li>tomcat.util.scan.StandardJarScanFilter.jarsToSkip<\/li>\n\n\n\n<li>see\u00a0<a href=\"https:\/\/raw.githubusercontent.com\/sakaiproject\/nightly-config\/refs\/heads\/master\/catalina.properties\">https:\/\/raw.githubusercontent.com\/sakaiproject\/nightly-config\/refs\/heads\/master\/catalina.properties<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Everything else is the same<\/p>\n\n\n\n<p>At this time we can also begin allowing jdk 17 syntax into the repo, but I would advise that if you know something is to be backported to 23 that you use jdk 11 syntax.<\/p>\n\n\n\n<p>-earle<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This message is from Earle Nietzel &#8211; the Sakai Community Branch Manager: The JDK 17 upgrade is upon us and here are some notes to help everyone upgrade. Everything else is the same At this time we can also begin allowing jdk 17 syntax into the repo, but I would advise that if you know [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6020","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/6020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/comments?post=6020"}],"version-history":[{"count":1,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/6020\/revisions"}],"predecessor-version":[{"id":6021,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/6020\/revisions\/6021"}],"wp:attachment":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/media?parent=6020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/categories?post=6020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/tags?post=6020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}