$ java -cp build/classes demo.Hello # no flag at all, JDK 25 default WARNING: A restricted method in java.lang.foreign.AddressLayout has been called WARNING: java.lang.foreign.AddressLayout::withTargetLayout has been called by demo.sqlite.sqlite3_h$shared in an unnamed module (file:/tmp/work/jextract/repo/jextract/build/classes/) WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module WARNING: Restricted methods will be blocked in a future release unless native access is enabled sqlite3_libversion() = 3.45.1 returned segment byteSize = 9223372036854775807 sqlite3_libversion_number() = 3045001 sqlite3_sourceid() = 2024-01-30 16:01:20 e876e51a0ed5c5b3126f52e532044363a014bc594cfefa87ffb5b82257ccalt1 $ java --illegal-native-access=deny -cp build/classes demo.Hello Exception in thread "main" java.lang.ExceptionInInitializerError at demo.Hello.main(Hello.java:10) Caused by: java.lang.IllegalCallerException: Illegal native access from an unnamed module (file:/tmp/work/jextract/repo/jextract/build/classes/) at java.base/java.lang.Module.ensureNativeAccess(Module.java:307) at java.base/java.lang.System$1.ensureNativeAccess(System.java:2107) at java.base/jdk.internal.reflect.Reflection.ensureNativeAccess(Reflection.java:123)