Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
启动java应用程序时获取非法反射访问错误_Java_Macos_Reflection - Fatal编程技术网

启动java应用程序时获取非法反射访问错误

启动java应用程序时获取非法反射访问错误,java,macos,reflection,Java,Macos,Reflection,我正在尝试使用一种叫做仓鼠模拟器的伪编程语言。它是用java编写的,我在启动时遇到了一些问题。我从安装了openJDK 8,并运行MacOSX 10.15.7 这是我的控制台打印出的错误: fabian@Fabians-iMac ~ % java -jar /Users/fabian/Desktop/hamstersimulator/hamstersimulator.jar WARNING: An illegal reflective access operation has occu

我正在尝试使用一种叫做仓鼠模拟器的伪编程语言。它是用java编写的,我在启动时遇到了一些问题。我从安装了openJDK 8,并运行MacOSX 10.15.7

这是我的控制台打印出的错误:

fabian@Fabians-iMac ~ % java -jar /Users/fabian/Desktop/hamstersimulator/hamstersimulator.jar     
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/Users/fabian/Desktop/hamstersimulator/lib/gluegen-rt.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2020-10-26 19:47:08.247 java[1363:26814] Apple AWT Internal Exception: NSWindow drag regions should only be invalidated on the Main Thread!
2020-10-26 19:47:08.248 java[1363:26814] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff36363b57 __exceptionPreprocess + 250
    1   libobjc.A.dylib                     0x00007fff6f1d45bf objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff3638c34c -[NSException raise] + 9
    3   AppKit                              0x00007fff335865ec -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 310
    4   AppKit                              0x00007fff3356e052 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1416
    5   AppKit                              0x00007fff3356dac3 -[NSWindow initWithContentRect:styleMask:backing:defer:] + 42
    6   libnativewindow_macosx.jnilib       0x000000014ef1f3fe Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 398
    7   ???                                 0x000000010f1ab330 0x0 + 4548375344
)
libc++abi.dylib: terminating with uncaught exception of type NSException
zsh: abort      java -jar /Users/fabian/Desktop/hamstersimulator/hamstersimulator.jar
fabian@Fabians-iMac ~ %

您看到的第一个“错误”不是错误,而是警告,因此它的前缀是
warning
。实际上,这并不意味着应用程序无法运行或失败,它只是说:嘿,它正在做的事情可能会在未来的java版本中停止工作,即使它现在仍然可以工作

第二部分(从
2020-10-26
开始)与第一部分没有任何关系,是appkit或VM代码中的一个bug,允许AWT元素(java GUI小部件)在mac os上呈现,可能会因为仓鼠模拟器做了一些规范不允许但在windows上可以工作的事情而恶化。这意味着它仍然是仓鼠模拟器中的一个bug,但这是一个令人恼火的bug,作者可能无法重现,并可能错误地将其归咎于苹果或甲骨文。而在中间,你甚至不知道该责备谁,更不用说如何让他们来解决问题了。我认为后者(仓鼠模拟器的bug)更有可能


如果没有仓鼠模拟器.jar的源代码和仓鼠模拟器所做的大量知识,那么除了联系仓鼠模拟器的作者,尝试一些不同的虚拟机之外,您在这里只能做很少的事情(但是如果您得到警告,这个仓鼠模拟器是旧的,所以可能是旧的VM,但是请注意,这些都是不受支持的,因此可能存在未修复且永远不会修复的安全问题,所以这里有龙和所有这些)首先,了解错误和警告之间的区别是非常重要的。你仍然可以得到仓鼠代码并尝试修复这件事,在等待指定作者的答复之前,我想说,这是一个机会。谢谢你的详细解释。接受它。