From 03a12a6ff481947f26ff490fa70a27fbb923391a Mon Sep 17 00:00:00 2001 From: Jean-Yves TINEVEZ Date: Thu, 16 Jul 2026 09:40:18 +0200 Subject: [PATCH 1/2] Add maven-assembly-plugin to produce jar-with-dependencies mvn package only produced target/classes/ with no dependency JARs. The cross-language test runner looks for a *-jar-with-dependencies.jar first; without it, it fell back to target/classes/ alone, leaving n5, n5-zarr, imglib2, etc. off the classpath at runtime. Done with the help of Claude Sonnet and Tobias Pietzsch. --- pom.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pom.xml b/pom.xml index 4926b2a..fcac363 100644 --- a/pom.xml +++ b/pom.xml @@ -191,6 +191,30 @@ -Xmx4g -Djna.library.path=/opt/homebrew/opt/c-blosc/lib + + + maven-assembly-plugin + + + + org.mastodon.geff.RoundTripGeff + + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + + From 0fb39489aeaf4a7d3533fc881c57609d7783a47a Mon Sep 17 00:00:00 2001 From: Jean-Yves TINEVEZ Date: Thu, 16 Jul 2026 09:40:46 +0200 Subject: [PATCH 2/2] Use -Djna.library.path for blosc native library lookup JNA ignores -Djava.library.path and uses its own -Djna.library.path property to locate native libraries. The cross-language test runner was passing the wrong property, so libblosc.dylib was never found regardless of whether c-blosc was installed via homebrew. Again, Claude and Tobias --- cross-language-tests/run_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cross-language-tests/run_tests.py b/cross-language-tests/run_tests.py index c49a9ee..231976a 100644 --- a/cross-language-tests/run_tests.py +++ b/cross-language-tests/run_tests.py @@ -89,7 +89,7 @@ def run_java_roundtrip( # Add library path if blosc is found if blosc_path: - cmd.append(f"-Djava.library.path={blosc_path}") + cmd.append(f"-Djna.library.path={blosc_path}") cmd.extend( [