Необходимые аргументы JVM при использовании AspectJJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Необходимые аргументы JVM при использовании AspectJ

Сообщение Anonymous »

Необходимо ли передавать следующий флаг --add-opens", "java.base/java.lang=ALL-UNNAMED при использовании AspectJ в JDK-17. Если я не включаю этот флаг, я получаю следующую ошибку.

[AppClassLoader@251a69d7] предупреждение: определить сгенерированный класс не удалось — (NullPointerException) Невозможно вызвать «java.lang.reflect.Method.invoke(Object, Object[])», потому что «org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.bindTo_Method» имеет значение null
Невозможно вызвать «java.lang.reflect.Method.invoke» (Object, Object[])», потому что «org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.bindTo_Method» имеет значение null
java.lang.NullPointerException: невозможно вызвать «java.lang.reflect.Method.invoke(Object, Object) [])", потому что "org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.bindTo_Method" имеет значение null
в org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.defineClass(ClassLoaderWeavingAdaptor.java:1099)
в org. аспектj.weaver.loadtime.ClassLoaderWeavingAdaptor.access$300(ClassLoaderWeavingAdaptor.java:66)
в org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor$SimpleGeneratedClassHandler.acceptClass(ClassLoaderWeavingAdaptor.java:150)
в org.aspectj .weaver.tools.WeavingAdaptor$WeavingClassFileProvider$1.acceptResult(WeavingAdaptor.java:916)
в org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1430)
в org.aspectj. weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1192)
на org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:549)
на org.aspectj.weaver.tools. WeavingAdaptor.weaveClass(WeavingAdaptor.java:385)
в org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:115)
в org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform( ClassPreProcessorAgentAdapter.java:51)
в java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
в java.instrument/sun.instrument.TransformerManager.transform(TransformerManager. java:188)
в java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541)
в java.base/java.lang.ClassLoader.defineClass1(собственный метод)
в java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
в java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
в java. base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
в java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
в java. base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
в java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
в java. base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
в java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
в java. base/java.lang.Class.forName0(собственный метод)
в java.base/java.lang.Class.forName(Class.java:467)
в java.base/sun.launcher.LauncherHelper .loadMainClass(LauncherHelper.java:791)
на java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:686)


Ошибка: невозможно инициализировать основной класс org.example.Main
Причина: java.lang.NoClassDefFoundError: org/example/Main$AjcClosure1

Репродуктор. Использование сборки Gradle

Подробнее здесь: https://stackoverflow.com/questions/787 ... ng-aspectj
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»