重新安装ubuntu后,JOGL不起作用 [英] JOGL does not work after reinstalling ubuntu

查看:189
本文介绍了重新安装ubuntu后,JOGL不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在ubuntu 9中用eclipse完成了一个完整的工作。现在我已经安装了Ubuntu 10.10,获取备份,下载Eclipse并尝试运行该项目。



项目文件夹根本没有更改!
但现在它不起作用:


线程中的异常AWT-EventQueue-0java.lang.UnsatisfiedLinkError:no在java.library.path中的gluegen-rt


如果我转到project properties> java build path> librariesgluegen-rt。 jar和jogl.jar存在,我没有编译错误( import javax.media.opengl.GLAutoDrawable; 没有错误,所以类正确加载我认为)



我尝试从突触安装JOGL。



这里是完整的错误堆栈跟踪:




线程中的异常AWT-EventQueue-0
java.lang.UnsatisfiedLinkError:$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ .lang.ClassLoader.loadLibrary(ClassLoader.java:1681)

java.lang.Runtime.loadLibrary0(Runtime.java:840)

java.lang.System .loadLibrary(System.java:1047)

com.sun.gluegen.runtime.NativeLibLoader.loadLibraryInte rnal(NativeLibLoader.java:102)

com.sun.gluegen.runtime.NativeLibLoader.access $ 000(NativeLibLoader.java:51)

com.sun.gluegen .runtime.NativeLibLoader $ 1.run(NativeLibLoader.java:70)
at
java.security.AccessController.doPrivileged(Native
Method)at
com.sun.gluegen.runtime .NativeLibLoader.loadGlueGenRT(NativeLibLoader.java:68)

com.sun.gluegen.runtime.NativeLibrary.ensureNativeLibLoaded(NativeLibrary.java:399)

com.sun .gluegen.runtime.NativeLibrary.open(NativeLibrary.java:163)

com.sun.gluegen.runtime.NativeLibrary.open(NativeLibrary.java:129)

com.sun.opengl.impl.x11.DRIHack.begin(DRIHack.java:109)
at
com.sun.opengl.impl.x11.X11GLDrawableFactory。(X11GLDrawableFactory.java:99)
在java.lang.Class.forName0(Native
方法)
java.lang.Class.forName(Class.java:186)

javax.media .opengl.GLDrawableFact ory.getFactory(GLDrawableFactory.java:111)

javax.media.opengl.GLJPanel.initialize(GLJPanel.java:889)

javax.media.opengl。 GLJPanel.paintComponent(GLJPanel.java:488)
at
javax.swing.JComponent.paint(JComponent.java:1029)
at
javax.swing.JComponent.paintChildren( JComponent.java:866)

javax.swing.JComponent.paint(JComponent.java:1038)

javax.swing.JComponent.paintChildren(JComponent.java: 866)
at
javax.swing.JComponent.paint(JComponent.java:1038)

javax.swing.JComponent.paintChildren(JComponent.java:866)

javax.swing.JComponent.paint(JComponent.java:1038)

javax.swing.JComponent.paintChildren(JComponent.java:866)
at
javax.swing.JComponent.paint(JComponent.java:1038)

javax.swing.JComponent.paintChildren(JComponent.java:866)

javax .swing.JComponent.paint(JComponent.java:

javax.swing.JLayeredPane.paint(JLayeredPane.java:581)

javax.swing.JComponent.paintChildren(JComponent.java:866)

javax.swing.JComponent.paintToOffscreen(JComponent.java:5145)

javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302)
at
javax.swing.RepaintManager.paint(RepaintManager.java:1145)

javax.swing.JComponent.paint(JComponent.java:1015)

java .awt.GraphicsCallback $ PaintCallback.run(GraphicsCallback.java:39)

sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)

sun.awt .SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)

java.awt.Container.paint(Container.java:1844)

javax.swing.RepaintManager.paintDirtyRegions (RepaintManager.java:751)

javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:696)

javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:676)

javax.swing.RepaintManager.access $ 700(RepaintManager.java:57)
at
javax.swing.RepaintManager $ ProcessingRunnable.run(RepaintManager.java:1550)
at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)

java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647)

java.awt.EventQueue.access $ 000(EventQueue.java:96)
at
java.awt.EventQueue $ 1.run(EventQueue.java:608)

java.awt.EventQueue $ 1.run(EventQueue.java:606)
at
java.security.AccessController.doPrivileged(Native
Method)at
java.security.AccessControlContext $ 1.doIntersectionPrivilege(AccessControlContext.java:105)
at
java.awt.EventQueue .dispatchEvent(EventQueue.java:617)

java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)

java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)

java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)

java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)

java .awt.EventDispatchThread.run(EventDispatchThread.java:138)



解决方案

我发现问题!



ECLIPSE保存外部JAR的绝对路径



在您的eclipse项目属性 - > Java构建路径,转到您的库,找到gluegen-rt.jar,展开它,然后单击Native Library Location,然后输入JOGL下载本机库的位置。



在重新安装ubuntu后,我更改了我的主文件夹结构。


i had a fully work project in ubuntu 9 with eclipse. Now i have installed Ubuntu 10.10, get the backup back, downloaded Eclipse and try to run the project.

The project folder was not changed at all! But now it does not work:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path

If i go to "project properties > java build path > libraries" gluegen-rt.jar and jogl.jar are present and i have no compilation error ("import javax.media.opengl.GLAutoDrawable;" has no error so classes are loaded correctly i think)

i tried to install JOGL from synaptic too.

Here the full error stacktrace:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681) at java.lang.Runtime.loadLibrary0(Runtime.java:840) at java.lang.System.loadLibrary(System.java:1047) at com.sun.gluegen.runtime.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:102) at com.sun.gluegen.runtime.NativeLibLoader.access$000(NativeLibLoader.java:51) at com.sun.gluegen.runtime.NativeLibLoader$1.run(NativeLibLoader.java:70) at java.security.AccessController.doPrivileged(Native Method) at com.sun.gluegen.runtime.NativeLibLoader.loadGlueGenRT(NativeLibLoader.java:68) at com.sun.gluegen.runtime.NativeLibrary.ensureNativeLibLoaded(NativeLibrary.java:399) at com.sun.gluegen.runtime.NativeLibrary.open(NativeLibrary.java:163) at com.sun.gluegen.runtime.NativeLibrary.open(NativeLibrary.java:129) at com.sun.opengl.impl.x11.DRIHack.begin(DRIHack.java:109) at com.sun.opengl.impl.x11.X11GLDrawableFactory.(X11GLDrawableFactory.java:99) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:111) at javax.media.opengl.GLJPanel.initialize(GLJPanel.java:889) at javax.media.opengl.GLJPanel.paintComponent(GLJPanel.java:488) at javax.swing.JComponent.paint(JComponent.java:1029) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JLayeredPane.paint(JLayeredPane.java:581) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5145) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302) at javax.swing.RepaintManager.paint(RepaintManager.java:1145) at javax.swing.JComponent.paint(JComponent.java:1015) at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78) at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115) at java.awt.Container.paint(Container.java:1844) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:751) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:696) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:676) at javax.swing.RepaintManager.access$700(RepaintManager.java:57) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1550) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647) at java.awt.EventQueue.access$000(EventQueue.java:96) at java.awt.EventQueue$1.run(EventQueue.java:608) at java.awt.EventQueue$1.run(EventQueue.java:606) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:617) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

解决方案

i found the problem!

ECLIPSE SAVE ABSOLUTE PATH OF EXTERNAL JARS

In your eclipse project properties -> Java Build Path, go to your library, find the gluegen-rt.jar, expand it, and click on Native Library Location and enter the location for the native libraries that came with your JOGL download.

after reinstallin ubuntu i changed my home folder structures.

这篇关于重新安装ubuntu后,JOGL不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆