This message is from Earle Nietzel – the Sakai Community Branch Manager:
The JDK 17 upgrade is upon us and here are some notes to help everyone upgrade.
- Upgrade JDK to version 17 (sdkman makes this simple)
- sdk install java 17.0.13-tem (install Temurin jdk 17)
- sdk use java 17.0.13-tem (switches jdk in the current shell)
- Follow traditional build and deploy of sakai src to tomcat
- mvn(d) clean install sakai:deploy-exploded
- use mvnd for parallel builds
- sdk install mvnd
- Update java options for running tomcat
- use the following jdk options when starting tomcat (setenv.sh)
- JAVA_OPTS=”$JAVA_OPTS \
–add-opens=java.base/jdk.internal.access=ALL-UNNAMED \
–add-opens=java.base/jdk.internal.misc=ALL-UNNAMED \
–add-opens=java.base/sun.nio.ch=ALL-UNNAMED \
–add-opens=java.base/sun.util.calendar=ALL-UNNAMED \
–add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \
–add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
–add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
–add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED \
–add-opens=java.base/java.io=ALL-UNNAMED \
–add-opens=java.base/java.nio=ALL-UNNAMED \
–add-opens=java.base/java.net=ALL-UNNAMED \
–add-opens=java.base/java.util=ALL-UNNAMED \
–add-opens=java.base/java.util.concurrent=ALL-UNNAMED \
–add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED \
–add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED \
–add-opens=java.base/java.lang=ALL-UNNAMED \
–add-opens=java.base/java.lang.invoke=ALL-UNNAMED \
–add-opens=java.base/java.math=ALL-UNNAMED \
–add-opens=java.sql/java.sql=ALL-UNNAMED \
–add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
–add-opens=java.base/java.time=ALL-UNNAMED \
–add-opens=java.base/java.text=ALL-UNNAMED \
–add-opens=java.management/sun.management=ALL-UNNAMED \
–add-opens=java.desktop/java.awt.font=ALL-UNNAMED \
–add-opens=java.desktop/javax.swing.tree=ALL-UNNAMED” - see https://raw.githubusercontent.com/sakaiproject/nightly-config/refs/heads/master/setenv.sh
- JAVA_OPTS=”$JAVA_OPTS \
- adjust catalina.properties adding “serializer.jar” to list jars that should NOT be scanned
- tomcat.util.scan.StandardJarScanFilter.jarsToSkip
- see https://raw.githubusercontent.com/sakaiproject/nightly-config/refs/heads/master/catalina.properties
- use the following jdk options when starting tomcat (setenv.sh)
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 something is to be backported to 23 that you use jdk 11 syntax.
-earle