UnsatisfiedLinkError&没有这样的方法(jogl,gluegen,jogamp)

时间:2014-07-14 17:11:16

标签: buffer processing jogl slice unsatisfiedlinkerror

我使用Processing(使用jogl和gluegen)编写了一个程序,并使用PApplet在NetBeans的Java应用程序中运行它。

我无法在IDE外部运行我的程序(通过运行jar) - 既不能在我的本地Windows 64位机器上使用命令行,也不能在外部Linux服务器上运行(这是我想运行程序的地方) )使用X11转发

我之前能够通过Windows机器上的命令行运行该程序,但在linux服务器上测试后遇到了麻烦。我认为在下载相同jar的linux版本后,路径或其他东西可能存在一些问题

这是我从linux机器收到的错误:

Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: jogamp.common.jvm.JVMUtil.initialize(Ljava/nio/ByteBuffer;)Z 
        at jogamp.common.jvm.JVMUtil.initialize(Native Method) 
        at jogamp.common.jvm.JVMUtil.<clinit>(JVMUtil.java:58) 
        at com.jogamp.common.os.Platform$1.run(Platform.java:212) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:179) 
        at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:82) 
        at processing.opengl.PJOGL.initSurface(PJOGL.java:250) 
        at processing.opengl.PGraphicsOpenGL.initPrimary(PGraphicsOpenGL.java:6310) 
        at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1653) 
        at processing.core.PApplet.run(PApplet.java:2256) 
        at java.lang.Thread.run(Thread.java:724) 

这是我尝试使用命令行在我的机器上运行jar时遇到的错误:

java.lang.NoSuchMethodError: com.jogamp.common.nio.Buffers.slice2Float(Ljava/nio 
/Buffer;[FII)Ljava/nio/FloatBuffer; 
        at jogamp.opengl.ProjectFloat.<init>(ProjectFloat.java:181) 
        at jogamp.opengl.ProjectFloat.<init>(ProjectFloat.java:167) 
        at jogamp.opengl.ProjectFloat.<init>(ProjectFloat.java:163) 
        at javax.media.opengl.glu.GLU.<init>(GLU.java:164) 
        at processing.opengl.PJOGL.<init>(PJOGL.java:218) 
        at processing.opengl.PGraphicsOpenGL.createPGL(PGraphicsOpenGL.java:1744 
) 
        at processing.opengl.PGraphicsOpenGL.<init>(PGraphicsOpenGL.java:518) 
        at processing.opengl.PGraphics3D.<init>(PGraphics3D.java:37) 
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou 
rce) 
        at java.lang.reflect.Constructor.newInstance(Unknown Source) 
        at processing.core.PApplet.makeGraphics(PApplet.java:1919) 
        at processing.core.PApplet.size(PApplet.java:1771) 
        at processing.core.PApplet.size(PApplet.java:1742) 
        at noblis.farag.MySketch.setup(MySketch.java:132) 
        at processing.core.PApplet.handleDraw(PApplet.java:2361) 
        at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:240) 

        at processing.core.PApplet.run(PApplet.java:2256) 
        at java.lang.Thread.run(Unknown Source) 
Exception in thread "Animation Thread" java.lang.RuntimeException: com.jogamp.co 
mmon.nio.Buffers.slice2Float(Ljava/nio/Buffer;[FII)Ljava/nio/FloatBuffer; 
        at processing.core.PApplet.makeGraphics(PApplet.java:1944) 
        at processing.core.PApplet.size(PApplet.java:1771) 
        at processing.core.PApplet.size(PApplet.java:1742) 
        at noblis.farag.MySketch.setup(MySketch.java:132) 
        at processing.core.PApplet.handleDraw(PApplet.java:2361) 
        at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:240) 

        at processing.core.PApplet.run(PApplet.java:2256) 
        at java.lang.Thread.run(Unknown Source) 

为什么我可以在IDE中运行它而不在外面?或以任何方式打包它,以便它可以在IDE外运行?

感谢

0 个答案:

没有答案