fix zip64_test to work with absolute $(JAVABASE)

Tested with an absolute $(JAVABASE) and --(no)legacy_external_runfiles.

Progress towards #8033

Closes #8034.

PiperOrigin-RevId: 243604034
diff --git a/src/tools/singlejar/BUILD b/src/tools/singlejar/BUILD
index 9c9516d..8784beb 100644
--- a/src/tools/singlejar/BUILD
+++ b/src/tools/singlejar/BUILD
@@ -327,6 +327,7 @@
 sh_test(
     name = "zip64_test",
     srcs = ["zip64_test.sh"],
+    args = ["$(JAVABASE)"],
     data = [
         ":singlejar",
         "//src/test/shell:bashunit",
diff --git a/src/tools/singlejar/zip64_test.sh b/src/tools/singlejar/zip64_test.sh
index c71f37c..b64f304 100755
--- a/src/tools/singlejar/zip64_test.sh
+++ b/src/tools/singlejar/zip64_test.sh
@@ -53,7 +53,11 @@
 fi
 
 singlejar="$(rlocation "io_bazel/src/tools/singlejar/singlejar${EXE_EXT}")"
-jartool="$(rlocation "local_jdk/bin/jar${EXE_EXT}")"
+javabase="$1"
+if [[ $javabase = external/* ]]; then
+  javabase=${javabase#external/}
+fi
+jartool="$(rlocation "${javabase}/bin/jar${EXE_EXT}")"
 
 # Test that an archive with >64K entries can be created.
 function test_65Kentries() {