Я переместил свое приложение Clojure из jdk8 в jdk11 (Zulu JRE 11), и оно стало не в состоянии вызывать метод по умолчанию в интерфейсе, реализация которого генерируется машиной (и выглядит примерно так: #object[com.sun.proxy.$Proxy110 0x28466aa5 nil]
).
Я делаю
(.someDefaultMethod iinterface-impl)
и получаю
java.lang.IllegalAccessException: access to public member failed:
my.IInterface.someDefaultMethod[Ljava.lang.Object;@172aedbe/invokeSpecial, from my.IInterface/2 (unnamed module @627551fb)
at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:942)
at java.base/java.lang.invoke.MethodHandles$Lookup.checkAccess(MethodHandles.java:2206)
at java.base/java.lang.invoke.MethodHandles$Lookup.checkMethod(MethodHandles.java:2146)
at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(MethodHandles.java:2290)
at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(MethodHandles.java:2283)
at java.base/java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:1798)
at my.SomeService.invoke(SomeService.java:305)
Есть ли какое-нибудь решение? Спасибо!