I有一个使用Jogl1.0库 http://easystoneshop.com/applets/CountertopQuote/index.html的项目。我的应用程序从Java开始。一切正常,但在MacOSX10.7.5上更新JDK 1.7.0.51,我的项目就不能工作了。Exeption:
sun.java2d.opengl.CGLSurfaceData.createCGLContextOnSurface(Lsun/java2d/opengl/CGLSurfaceData;:JNLPClassLoader:在QueueFlusher: javax.media.opengl.GLException: java.lang.UnsatisfiedLinkError: javax.media.opengl.GLException中查找库libjogl.dylib异常J)J在com.sun.opengl.impl.Java2D.createOGLContextOnSurface(Java2D.java:470) at com.sun.opengl.impl.macosx.MacOSXJava2DGLContext.create(MacOSXJava2DGLContext.java:116) at com.sun.opengl.impl.macosx.MacOSXJava2DGLContext.makeCurrentImpl(MacOSXJava2DGLContext.java:72) at com.sun.opengl.impl.GLContextImpl.makeCurrent(GLContextImpl.java:134) at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:182) at javax.media.opengl由: sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:234):sun.java2d.opengl.CGLSurfaceData.createCGLContextOnSurface(Lsun/java2d/opengl/CGLSurfaceData;引起的.GLJPanel$2.run(GLJPanel.java:650)( J)J在sun.java2d.opengl.CGLSurfaceData.createCGLContextOnSurface(Native方法)在sun.java2d.opengl.CGLSurfaceData.createOGLContextOnSurface(CGLSurfaceData.java:378)在sun.reflect.NativeMethodAccessorImpl.invoke0(Native方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java:606)在com.sun.opengl.impl.Java2D.createOGLContextOnSurface(( Java2D.java:468) .6
我尝试在MacOSX10.7.5上运行项目,使用JDK1.6.0.37,并且都成功了。
,我在JRE上添加了本机库文件libjogl.jnilib,并且作为应用程序,它们都在使用JDK1.7的Mac上工作。我尝试将Jogl更新到版本2.2,但是有很多Exeption:
线程“AWT 0”中的异常: jogamp.opengl.GLContextImpl.destroy(GLContextImpl.java:447) @ destroy's associateDrawable(false) at javax.media.opengl.awt.GLJPanel$OffscreenBackend.destroy(GLJPanel.java:1518) at javax.media.opengl.awt.GLJPanel$6.run(GLJPanel.java:1248) at javax.media.opengl.Threading.invoke(Threading.java:193) at javax.media.opengl.awt.GLJPanel.dispose(javax.media.opengl.awt.GLJPanel.removeNotify(GLJPanel.java:568) at javax.media.opengl.awt.GLJPanel.destroy(GLJPanel.java:486) at javax.media.opengl.awt.GLJPanel$2.run(GLJPanel.java:282) at com.jogamp.nativewindow.awt.AWTWindowClosingProtocol$WindowClosingAdapter.windowClosing(AWTWindowClosingProtocol.java:71) at java.awt.Window.processWindowEvent(Window.java:2051) at javax.swing.JFrame.processWindowEvent(JFrame )。java.awt.Window.processEvent(Window.java:2009) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) at java.awt.EventQueue.access$200(EventQueue.java:103)在java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method)在java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:708) at java.awt.EventQueue$4.run(EventQueue.java:706)( java.security.AccessController.doPrivileged(Native方法)在java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76),java.awt.EventQueue.dispatchEvent(EventQueue.java:705),java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242),java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161),java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150),java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146),java。awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)由: javax.media.opengl.GLException: ThreadAWT 0,6,main glGetError()在调用glFramebufferRenderbuffer( 0x8D40,0x8CE0,0x8D41,0x0)后返回以下错误代码: GL_INVALID_OPERATION ( 1282 0x502),在javax.media.opengl.DebugGL4bc.writeGLError(DebugGL4bc.java:29490) at javax.media.opengl.DebugGL4bc.glFramebufferRenderbuffer(DebugGL4bc.java:12353) at com.jogamp.opengl.FBObject.detachColorbufferImpl(FBObject.java:1570) at com.jogamp.opengl.FBObject.detachAllImpl(FBObject.java:1870) at com.jogamp.opengl.FBObject.destroy(FBObject.java:1911) at jogamp.opengl.GLFBODrawableImpl.initialize(GLFBODrawableImpl.java:163) at jogamp.opengl。GLFBODrawableImpl.associateContext(GLFBODrawableImpl.java:347) at jogamp.opengl.GLContextImpl.associateDrawable(GLContextImpl.java:733) at jogamp.opengl.GLContextImpl.destroy(GLContextImpl.java:412) . 33
我知道这个问题可以很简单地解决,但我已经是第二个星期了。帮帮我。
发布于 2014-02-24 20:43:56
Java7Update 51为Web和applet带来了一些新的安全性更改。请参阅此链接获得更详细的信息。有几件事是:
发布于 2014-02-25 05:59:49
JOGL 1的维护已于2010年停止,您必须切换到JOGL 2(目前为2.1.4)。由于公共API中有一些更改,您必须修改应用程序(一些包已经移动,您必须使用GLProfile,缓冲区实用程序现在在类缓冲区中,.)。我建议您与JogAmp维护人员联系,如果您怀疑GLJPanel中有bug,那么您必须按照mikemil对您自己的JAR的建议进行操作。
https://stackoverflow.com/questions/21994850
复制相似问题