Index: /trunk/ivy.xml
===================================================================
--- /trunk/ivy.xml	(revision 18433)
+++ /trunk/ivy.xml	(revision 18434)
@@ -24,10 +24,10 @@
         <dependency conf="api->default" org="javax.json" name="javax.json-api" rev="1.1.4"/>
         <dependency conf="api->default" org="org.glassfish" name="javax.json" rev="1.1.4"/>
-        <dependency conf="api->default" org="org.apache.commons" name="commons-jcs3-core" rev="3.0"/>
+        <dependency conf="api->default" org="org.apache.commons" name="commons-jcs3-core" rev="3.1"/>
         <dependency conf="api->default" org="org.apache.commons" name="commons-compress" rev="1.21"/>
         <dependency conf="api->default" org="com.google.code.findbugs" name="jsr305" rev="3.0.2"/>
         <dependency conf="api->default" org="org.tukaani" name="xz" rev="1.9"/>
         <dependency conf="api->default" org="com.adobe.xmp" name="xmpcore" rev="6.1.11"/>
-        <dependency conf="api->default" org="com.drewnoakes" name="metadata-extractor" rev="2.16.0" transitive="false"/>
+        <dependency conf="api->default" org="com.drewnoakes" name="metadata-extractor" rev="2.17.0" transitive="false"/>
         <dependency conf="api->default" org="com.formdev" name="svgSalamander" rev="1.1.3"/>
         <dependency conf="api->default" org="ch.poole" name="OpeningHoursParser" rev="0.26.0"/>
@@ -38,10 +38,10 @@
         <dependency conf="sources->sources" org="javax.json" name="javax.json-api" rev="1.1.4"/>
         <dependency conf="sources->sources" org="org.glassfish" name="javax.json" rev="1.1.4"/>
-        <dependency conf="sources->sources" org="org.apache.commons" name="commons-jcs3-core" rev="3.0"/>
+        <dependency conf="sources->sources" org="org.apache.commons" name="commons-jcs3-core" rev="3.1"/>
         <dependency conf="sources->sources" org="org.apache.commons" name="commons-compress" rev="1.21"/>
         <dependency conf="sources->sources" org="com.google.code.findbugs" name="jsr305" rev="3.0.2"/>
         <dependency conf="sources->sources" org="org.tukaani" name="xz" rev="1.9"/>
         <dependency conf="sources->sources" org="com.adobe.xmp" name="xmpcore" rev="6.1.11"/>
-        <dependency conf="sources->sources" org="com.drewnoakes" name="metadata-extractor" rev="2.16.0" transitive="false"/>
+        <dependency conf="sources->sources" org="com.drewnoakes" name="metadata-extractor" rev="2.17.0" transitive="false"/>
         <dependency conf="sources->sources" org="com.formdev" name="svgSalamander" rev="1.1.3"/>
         <dependency conf="sources->sources" org="ch.poole" name="OpeningHoursParser" rev="0.26.0"/>
@@ -51,13 +51,13 @@
         <dependency conf="commonslang->default" org="org.apache.commons" name="commons-lang3" rev="3.12.0"/>
         <!-- jacocoant->default -->
-        <dependency conf="jacocoant->default" org="org.jacoco" name="org.jacoco.ant" rev="0.8.7">
+        <dependency conf="jacocoant->default" org="org.jacoco" name="org.jacoco.ant" rev="0.8.8">
             <artifact name="org.jacoco.ant" type="jar" maven:classifier="nodeps"/>
         </dependency>
         <dependency conf="jmockit->default" org="org.jmockit" name="jmockit" rev="1.49.a"/>
         <!-- test->default -->
-        <dependency conf="test->default" org="com.github.spotbugs" name="spotbugs-annotations" rev="4.5.2"/>
+        <dependency conf="test->default" org="com.github.spotbugs" name="spotbugs-annotations" rev="4.6.0"/>
         <dependency conf="test->default" org="com.ginsberg" name="junit5-system-exit" rev="1.1.2"/>
-        <dependency conf="test->default" org="com.github.tomakehurst" name="wiremock-jre8" rev="2.32.0"/>
-        <dependency conf="test->default" org="io.github.classgraph" name="classgraph" rev="4.8.138"/>
+        <dependency conf="test->default" org="com.github.tomakehurst" name="wiremock-jre8" rev="2.33.1"/>
+        <dependency conf="test->default" org="io.github.classgraph" name="classgraph" rev="4.8.146"/>
         <dependency conf="test->default" org="org.junit.platform" name="junit-platform-launcher" rev="1.8.2"/>
         <dependency conf="test->default" org="org.junit.vintage" name="junit-vintage-engine" rev="5.8.2"/>
@@ -67,7 +67,7 @@
         <dependency conf="test->default" org="org.junit.jupiter" name="junit-jupiter-migrationsupport" rev="5.8.2"/>
         <dependency conf="test->default" org="net.trajano.commons" name="commons-testing" rev="2.1.0"/>
-        <dependency conf="test->default" org="nl.jqno.equalsverifier" name="equalsverifier" rev="3.8.1"/>
+        <dependency conf="test->default" org="nl.jqno.equalsverifier" name="equalsverifier" rev="3.10"/>
         <dependency conf="test->default" org="org.apache.commons" name="commons-lang3" rev="3.12.0"/>
-        <dependency conf="test->default" org="org.awaitility" name="awaitility" rev="4.1.1"/>
+        <dependency conf="test->default" org="org.awaitility" name="awaitility" rev="4.2.0"/>
     </dependencies>
 </ivy-module>
Index: /trunk/src/org/openstreetmap/josm/data/cache/JCSCacheManager.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/cache/JCSCacheManager.java	(revision 18433)
+++ /trunk/src/org/openstreetmap/josm/data/cache/JCSCacheManager.java	(revision 18434)
@@ -8,4 +8,5 @@
 import java.nio.file.StandardOpenOption;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Properties;
 import java.util.logging.Handler;
@@ -17,5 +18,4 @@
 import org.apache.commons.jcs3.JCS;
 import org.apache.commons.jcs3.access.CacheAccess;
-import org.apache.commons.jcs3.auxiliary.AuxiliaryCache;
 import org.apache.commons.jcs3.auxiliary.AuxiliaryCacheFactory;
 import org.apache.commons.jcs3.auxiliary.disk.behavior.IDiskCacheAttributes;
@@ -187,5 +187,4 @@
      * @return cache access object
      */
-    @SuppressWarnings("unchecked")
     public static <K, V> CacheAccess<K, V> getCache(String cacheName, int maxMemoryObjects, int maxDiskObjects, String cachePath) {
         CacheAccess<K, V> cacheAccess = getCacheAccess(cacheName, getCacheAttributes(maxMemoryObjects));
@@ -195,11 +194,11 @@
             try {
                 IDiskCacheAttributes diskAttributes = getDiskCacheAttributes(maxDiskObjects, cachePath, cacheName);
-                if (cc.getAuxCaches().length == 0) {
-                    cc.setAuxCaches(new AuxiliaryCache[]{DISK_CACHE_FACTORY.createCache(
-                            diskAttributes, null, null, new StandardSerializer())});
+                if (cc.getAuxCacheList().isEmpty()) {
+                    cc.setAuxCaches(Collections.singletonList(DISK_CACHE_FACTORY.createCache(
+                            diskAttributes, null, null, new StandardSerializer())));
                 }
             } catch (Exception e) { // NOPMD
                 // in case any error in setting auxiliary cache, do not use disk cache at all - only memory
-                cc.setAuxCaches(new AuxiliaryCache[0]);
+                cc.setAuxCaches(Collections.emptyList());
                 Logging.debug(e);
             }
Index: /trunk/test/unit/org/openstreetmap/josm/TestUtils.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/TestUtils.java	(revision 18433)
+++ /trunk/test/unit/org/openstreetmap/josm/TestUtils.java	(revision 18434)
@@ -64,5 +64,4 @@
 import com.github.tomakehurst.wiremock.WireMockServer;
 import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
-
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import io.github.classgraph.ClassGraph;
@@ -492,12 +491,17 @@
     @SuppressWarnings("null")
     public static void assumeWorkingEqualsVerifier() {
-        if (Utils.getJavaVersion() >= 16) {
+        // See https://github.com/raphw/byte-buddy/blob/master/byte-buddy-dep/src/main/java/net/bytebuddy/ClassFileVersion.java
+        // for currently supported Java versions.
+        if (Utils.getJavaVersion() >= 19) {
             // Byte Buddy often supports new class file versions for current EA releases if its experimental flag is set to true
             System.setProperty("net.bytebuddy.experimental", "true");
+        } else {
+            return;
         }
         try {
             // Workaround to https://github.com/jqno/equalsverifier/issues/177
             // Inspired by https://issues.apache.org/jira/browse/SOLR-11606
-            nl.jqno.equalsverifier.internal.lib.bytebuddy.ClassFileVersion.ofThisVm();
+            // Note: if we change to the equalsverifier fat jar, use nl.jqno.equalsverifier.internal.lib instead of net
+            net.bytebuddy.ClassFileVersion.ofThisVm();
         } catch (IllegalArgumentException e) {
             assumeFalse(e != null);
Index: /trunk/tools/ivy.xml
===================================================================
--- /trunk/tools/ivy.xml	(revision 18433)
+++ /trunk/tools/ivy.xml	(revision 18434)
@@ -15,12 +15,12 @@
     <dependencies>
         <!-- javacc->default -->
-        <dependency org="net.java.dev.javacc" name="javacc" rev="7.0.10" conf="javacc->default"/>
+        <dependency org="net.java.dev.javacc" name="javacc" rev="7.0.11" conf="javacc->default"/>
         <!-- checkstyle->default -->
-        <dependency org="com.puppycrawl.tools" name="checkstyle" rev="9.2.1" conf="checkstyle->default"/>
+        <dependency org="com.puppycrawl.tools" name="checkstyle" rev="9.3" conf="checkstyle->default"/>
         <!-- proguard->default -->
-        <dependency org="com.guardsquare" name="proguard-ant" rev="7.2.0-beta5" conf="proguard->default"/>
+        <dependency org="com.guardsquare" name="proguard-ant" rev="7.2.1" conf="proguard->default"/>
         <!-- pmd->default -->
-        <dependency org="net.sourceforge.pmd" name="pmd-core" rev="6.41.0" conf="pmd->default"/>
-        <dependency org="net.sourceforge.pmd" name="pmd-java" rev="6.41.0" conf="pmd->default"/>
+        <dependency org="net.sourceforge.pmd" name="pmd-core" rev="6.44.0" conf="pmd->default"/>
+        <dependency org="net.sourceforge.pmd" name="pmd-java" rev="6.44.0" conf="pmd->default"/>
         <dependency org="net.sourceforge.saxon" name="saxon" rev="9.1.0.8" conf="pmd->default">
             <artifact name="saxon" type="jar"/>
@@ -28,6 +28,6 @@
         </dependency>
         <!-- spotbugs->default -->
-        <dependency org="com.github.spotbugs" name="spotbugs" rev="4.5.2" conf="spotbugs->default"/>
-        <dependency org="com.github.spotbugs" name="spotbugs-ant" rev="4.5.2" conf="spotbugs->default"/>
+        <dependency org="com.github.spotbugs" name="spotbugs" rev="4.6.0" conf="spotbugs->default"/>
+        <dependency org="com.github.spotbugs" name="spotbugs-ant" rev="4.6.0" conf="spotbugs->default"/>
         <!-- errorprone->default -->
         <dependency org="com.google.errorprone" name="error_prone_core" rev="2.10.0" conf="errorprone->default"/>
@@ -35,5 +35,5 @@
         <dependency org="com.google.errorprone" name="javac" rev="9+181-r4173-1" conf="errorprone_javac->default"/>
         <!-- animal->default -->
-        <dependency org="org.codehaus.mojo" name="animal-sniffer-ant-tasks" rev="1.20" conf="animal->default"/>
+        <dependency org="org.codehaus.mojo" name="animal-sniffer-ant-tasks" rev="1.21" conf="animal->default"/>
     </dependencies>
 </ivy-module>
