Run the matrix tests from the jars

The step passed -Dmaven.test.classpath.useTestJar=true, which is not a
surefire parameter, so surefire ignored it, found no test classes and
reported "Tests run: 0, BUILD SUCCESS". Put the main and test jars on the
test classpath instead, and fail the job if no tests run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
diff --git a/.github/workflows/reusable-jdk-os-matrix.yml b/.github/workflows/reusable-jdk-os-matrix.yml
index 2acfa9b..143fcec 100644
--- a/.github/workflows/reusable-jdk-os-matrix.yml
+++ b/.github/workflows/reusable-jdk-os-matrix.yml
@@ -74,8 +74,15 @@
             JAVA_EXE="$JAVA_HOME/bin/java"
           fi
           echo "Testing datasketches-java jars for JDK version ${{ inputs.jdk_version }}..."
+          # Surefire needs these directories to exist, but the classes come from the jars.
+          mkdir -p target/classes target/test-classes
+          MAIN_JAR=$(ls target/datasketches-java-*.jar | grep -v -E -e '-(tests|sources|test-sources|javadoc)\.jar$')
+          TEST_JAR=$(ls target/datasketches-java-*-tests.jar)
+          echo "Main jar: $MAIN_JAR"
+          echo "Test jar: $TEST_JAR"
           mvn surefire:test -B \
-            -Dmaven.test.classpath.useTestJar=true \
+            -Dmaven.test.additionalClasspath="$MAIN_JAR,$TEST_JAR" \
+            -DfailIfNoTests=true \
             -Djvm="$JAVA_EXE" \
             -DargLine="${{ env.JVM_ARGS }}"