I pasted your script into a file with my standard snappy preamble, replaced the filename with that of a MODIS level-2 file, and changed the polygon to wkt="POLYGON ((-78 46, -62 46, -62 30, -78 30, -78 46))".
#! /usr/bin/env python3.7
# https://forum.step.esa.int/t/runtimeerror-no-matching-java-method-overloads-found/24695
import sys
import os
snappy_envar = 'HOME' # windows needs 'USERPROFILE'
envs = os.environ
if not snappy_envar in envs.keys():
raise Exception('Can’t find snappy')
else:
snappy_dir = os.path.join(envs.get(snappy_envar), '.snap', 'snap-python')
sys.path.append(snappy_dir)
import snappy
L2_read = snappy.ProductIO.readProduct('./A2006167181000.L2')
parameters = snappy.HashMap()
parameters.put("copyMetadata", True)
WKTReader = snappy.jpy.get_type('com.vividsolutions.jts.io.WKTReader')
wkt="POLYGON ((-78 46, -62 46, -62 30, -78 30, -78 46))"
geom = WKTReader().read(wkt)
parameters.put("geoRegion", geom)
subset = snappy.GPF.createProduct("Subset", parameters, L2_read)
snappy.ProductIO.writeProduct(subset, "./A2006167181000.L2subset", "GeoTIFF")
This system (Fedora 31) is using python37 with deephaven_jpy-1.20190816.73-cp37-cp37m-linux_x86_64.whl. The “magic” could be specifying the location for
snappy to avoid using some old version installed elsewhere.