使用IntelliJ设置JOGL时发生异常

问题描述 投票:0回答:1

这是我关于stackoverflow的第一个问题,所以如果我不够具体,请原谅我,但我会尽力而为。所以这是我的问题:3个小时以来,我一直在尝试使用IntelliJ设置慢跑。按照我的操作系统的jogl安装主页上的说明进行操作,IntelliJ可以毫无问题地识别所有OpenGL类。正在读取源代码而没有错误,但是事情是这样的:当我尝试启动程序时,出现此错误:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: /tmp/jogamp_0000/file_cache/jln3160951728563156885/jln8316311171870168112/natives/linux-amd64/libnativewindow_awt.so: /usr/lib/jvm/java-13-oracle/lib/libjawt.so: version `SUNWprivate_1.1' not found (required by /tmp/jogamp_0000/file_cache/jln3160951728563156885/jln8316311171870168112/natives/linux-amd64/libnativewindow_awt.so)
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2440)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2497)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
    at java.base/java.lang.Runtime.load0(Runtime.java:744)
    at java.base/java.lang.System.load(System.java:1873)
    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:603)
    at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63)
    at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:106)
    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:487)
    at jogamp.nativewindow.NWJNILibLoader.access$000(NWJNILibLoader.java:39)
    at jogamp.nativewindow.NWJNILibLoader$1.run(NWJNILibLoader.java:49)
    at jogamp.nativewindow.NWJNILibLoader$1.run(NWJNILibLoader.java:41)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
    at jogamp.nativewindow.NWJNILibLoader.loadNativeWindow(NWJNILibLoader.java:41)
    at jogamp.nativewindow.jawt.JAWTUtil.<clinit>(JAWTUtil.java:336)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:416)
    at com.jogamp.nativewindow.NativeWindowFactory$3.run(NativeWindowFactory.java:344)
    at com.jogamp.nativewindow.NativeWindowFactory$3.run(NativeWindowFactory.java:340)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
    at com.jogamp.nativewindow.NativeWindowFactory.initSingleton(NativeWindowFactory.java:340)
    at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1721)
    at com.jogamp.opengl.GLProfile.access$000(GLProfile.java:80)
    at com.jogamp.opengl.GLProfile$1.run(GLProfile.java:230)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
    at com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:216)
    at com.jogamp.opengl.GLProfile.getProfileMap(GLProfile.java:2297)
    at com.jogamp.opengl.GLProfile.get(GLProfile.java:988)
    at com.jogamp.opengl.GLProfile.getDefault(GLProfile.java:722)
    at com.jogamp.opengl.GLProfile.getDefault(GLProfile.java:733)
    at PongGame.run(Pong3DTex.java:217)
    at Pong3DTex$1.run(Pong3DTex.java:1028)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)'"

而且我根本不知道发生了什么,为什么发生以及'SUNWprivate_1.1'应该是什么。异常所指的行说:GLProfile glp = GLProfile.getDefault();就像从字面上在我的代码中执行的第一行。

这一切都是在运行最新版本的elementaryOS的笔记本电脑上发生的,我对Linux还是很陌生,所以我对atm完全不知所措。在Windows上,当我告诉IntelliJ到jogl的jar文件夹的路径时,一切工作正常。

所以,我真的希望你们能为我提供帮助,因为我已经不知所措了。谢谢您的回答。

java linux intellij-idea jogl
1个回答
0
投票

好的。因此,经过6个小时的研究,我一遍又一遍地重新安装了java / jogl,我发现了问题:我使用了oracle jdk13,它似乎与linux上的jogl不兼容,所以我卸载了jdk13并下载了打开的jdk 11。仍然没有麦芽汁,但我得到了不同的异常消息。扔掉打开的jdk 11并安装打开的jdk 8,而不是等等-> IT FINALLY WORKS。我不得不花8个小时学习,却浪费了这样的垃圾。为什么东西不能仅在Linux上工作?为什么总是必须有一些隐藏的bs阻止您执行需要做的事情? – 24分钟前CaptainIceBl0ck

© www.soinside.com 2019 - 2024. All rights reserved.