异常信息:
使用jdk8时报错信息:
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Unrecognized option: --add-opens
使用jdk18时报错信息:
Exception in thread "main" java.lang.NoSuchFieldException: delegate
at java.base/java.lang.Class.getDeclaredField(Class.java:2642)
at com.itheima.a13.TestMethodInvoke.show(TestMethodInvoke.java:26)
at com.itheima.a13.TestMethodInvoke.main(TestMethodInvoke.java:11)
报错原因:
jdk版本不符,不同jdk版本存在不兼容问题
解决方案:
更换JDK17之后,程序正常启动
0:null
0:foo
1:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
1:foo
2:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
2:foo
3:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
3:foo
4:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
4:foo
5:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
5:foo
6:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
6:foo
7:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
7:foo
8:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
8:foo
9:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
9:foo
10:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
10:foo
11:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
11:foo
12:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
12:foo
13:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
13:foo
14:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
14:foo
15:jdk.internal.reflect.NativeMethodAccessorImpl@246b179d
15:foo
16:jdk.internal.reflect.GeneratedMethodAccessor2@69d0a921
16:foo
17:jdk.internal.reflect.GeneratedMethodAccessor2@69d0a921
17:foo