我目前正在开发一些OSGi应用程序,我想使用库Jzy3d来显示3D图形。基本上,这个库利用了opengl for java(JOGL?)。
我添加了一个特定的包,包括运行Jzy3d和导出所有org.jzy3d所需的所有jar。*。
从另一个包中,我尝试使用该库,但在运行时,执行Chart chart = new Chart();
会引发以下异常:
java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path
一开始,我认为这只是由于不同bundle的不同类加载器所以我将失败的行移到了我现在从另一个bundle调用的库bundle中的“Util”类中。 然而,它没有改变任何东西:我总是遇到与gluegen-rt相同的错误。
我已经检查过gluegen-rt.jar是否在“library bundle”的bundle类路径中。它也包含在二进制构建中(与所有其他需要的jar一样)。
答案 0 :(得分:2)
java.library.path
是本机库的路径,因此我假设您未设置它或某些库丢失。检查JOGL对您的操作系统和体系结构所需的本机库,并提供它们的路径。
答案 1 :(得分:1)
另一个(也许是更好的)建议:从jogl2 rc5开始(或者可能更早),本机库包装在罐子里。我可以在我的计算机上运行Windows jar,而无需为dll设置任何运行时目录,因此如果您没有时间等待jzy3d更新,您可以从http://jogamp.org/deployment/archive/rc/v2.0-rc5/创建自己的jogl包。请参阅相关讨论:http://forum.jogamp.org/FileNotFoundException-td3654307.html
答案 2 :(得分:0)
www.jzy3d.org的下载页面上有关于eclipse开发人员的建议。或者,您可以删除jre / bin文件夹中的本机库